2017-02-14 6 views
-2

Я сделал целевую страницу с товарами. Каждый товар имеет описание и цену. Когда вы нажимаете кнопку «всплывающее окно», следует открыть, с изображением и описанием. Вопрос в том, что, если у меня есть много товаров, поэтому с html и некоторым фреймворком, мне нужно будет сделать все описание в html, могу ли я как-то создать шаблон всплывающего окна и предоставить описание товаров во всплывающем окне через javascript?Всплывающее окно на целевой странице

+0

Да, вы абсолютно можете это сделать, и мы будем рады помочь вам с вашим кодом, когда вы застряли. Пожалуйста, разместите свой код, когда вы доберетесь так далеко, и застряли в определенной части кода. – SQLMason

+0

@DanAndrews, спасибо за ответ, проблема в том, что я не знаю, с чего начать, должен искать какую-то структуру? – Kirill

+0

У вас есть серьезная проблема, заслуживающая хорошего ответа. К сожалению, stackoverflow не подходит для таких вопросов. Выполнение большего количества исследований (таких как рамки) определенно поможет вам - вам нужно сделать это, мы не сможем сделать это за вас. – SQLMason

ответ

0

В основном вам нужен код, который отображает модальное окно, и тот же код также должен отображать в нем полную информацию о товаре.

Обычно, если у вас есть страница категории, в которой отображается сводка продуктов, вам нужно будет заполнить модальное окно (которое вызывает всплывающее окно) с полным описанием продукта, взятым через Ajax (веб-сайт должен иметь возможность выводить данные о продукте в JSON если вы получили URL-адрес, например, mystore.com/ajax/p/10101, где 10101 - это идентификатор продукта. Это зависит от создателя веб-сайта.

Anyways, пример JS-кода с модальным окном и который отображает информацию о продукте на странице вы находитесь на ниже.

$(".view").click(function(){ 
 
    
 
    $(".overlay").show(); 
 
    
 
    var pName = $(this).parent().children(".itemName").text(); 
 
    var pPrice = $(this).parent().children(".itemPrice").text(); 
 
    var pDescription = $(this).parent().children(".itemDescription").text(); 
 
    
 
    $(".productName").text(pName); 
 
    $(".productPrice").text(pPrice); 
 
    $(".productDescription").text(pDescription); 
 
    
 
    
 
    }); 
 

 

 
$(".close").click(function(e){ 
 
e.preventDefault(); 
 
    
 
    $(".overlay").hide(); 
 
});
.content { 
 
    display: block; 
 
    width: 100%; 
 
    position: relative; 
 
    } 
 

 
.products { 
 
    width: 100%; 
 
    float: left; 
 
    display: block; 
 
    position: relative; 
 
    
 
    } 
 

 
.item { 
 
    position: relative; 
 
    width: 45%; 
 
    float: left; 
 
    display: block; 
 
    margin-right: 10px; 
 
border: solid 1px #ccc; 
 
    padding: 4px; 
 
    height: 150px; 
 
    box-sizing: border-box; 
 
    
 
} 
 

 
.itemImage { 
 
    width: 50%; 
 
    float: left; 
 
    height: 138px; 
 
    border: solid 1px green; 
 
    margin-right: 10px; 
 
    } 
 

 
.itemName { 
 
    font: 500 20px/25px Arial; 
 
    
 
    } 
 

 
.itemPrice { 
 
    font-weight: bolder; 
 
    } 
 

 
.itemDescription { 
 
    font: 300 16px/18px Arial; 
 
    
 
    } 
 

 
.view { 
 
font: 100 9px/10px Arial; 
 
} 
 

 
.view:hover { 
 
cursor: pointer; 
 
} 
 

 

 

 
.overlay { 
 
    display: none; 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    width: 700px; 
 
    height: 300px; 
 
    background: rgba(0,0,0,0.4); 
 

 
    } 
 

 
.popup { 
 
    display: block; 
 
    position: absolute; 
 
    top: 50px; 
 
    left: 200px; 
 
    width: 300px; 
 
    height: 150px; 
 
    background: #fff; 
 
    } 
 
.close { 
 
    position: absolute; 
 
    top: 10px; 
 
    right: 10px; 
 
    } 
 

 
.product { 
 
    position: absolute; 
 
    top: 30px; 
 
    left: 20px; 
 
    } 
 

 

 

 
.productImage { 
 
    width: 100px;; 
 
    display: block; 
 
    float: left; 
 
    margin-right: 10px; 
 
    position: relative; 
 
    height: 100px; 
 
    border: solid 1px red; 
 
    } 
 

 
.productName { 
 
font: 500 15px/16px Arial; 
 
    float: left; 
 
    width: 100px; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="content"> 
 
    
 
<div class="products"> 
 
    
 
    
 
    <div class="item"> 
 
    <div class="itemImage"><img src="" /></div> 
 

 
    <div class="itemName"> Product 1</div>  
 
    <div class="itemPrice"> $100 </div> 
 
    <div class="itemDescription"> Description 1 in here.</div> 
 
    <span class="view">View popup</span> 
 
    </div> 
 

 
    <div class="item"> 
 
    <div class="itemImage"><img src="" /></div> 
 

 
    <div class="itemName"> Product 2</div>  
 
    <div class="itemPrice"> $300 </div> 
 
    <div class="itemDescription"> Description 2 in here.</div> 
 
     <span class="view">View popup</span> 
 
    </div> 
 
    
 

 
    
 
    </div> 
 

 
<div class="overlay"> 
 
    
 
    <div class="popup"> 
 
     <a href="#" class="close">Close X</a> 
 
     
 
     <div class="product"> 
 
     <div class="productImage"><img src="" /></div> 
 

 
     <div class="productName"> xxxxxx</div>  
 
     <div class="productPrice"> uuuuuuuu </div> 
 
     <div class="productDescription"> tttttttt </div> 
 
     </div> 
 
     
 
    </div> 
 
    
 
</div> 
 
    
 
    </div>

+0

Спасибо! это помогло мне – Kirill