Модальное окно на сайте

177
14 апреля 2018, 19:50

При нажатии на кнопку "Купить" появляется текст зелёными буквами (скриншот прикрепил). Нужно сделать так чтобы при нажатии появлялся не текст, а модальное окно в котором будет то что я напишу. Не понимаю как сделать... Текст берётся из js.

Код:

$(document).on('submit', '.add_product_form', function(e){  
    e.preventDefault(); 
 
    var  cart_size = ( $(this).parents().find(".cart_size_product").val()!='') ? $('.cart_size_product').val() : 'œÛÒÚÓ'; 
    var  tid =  $(this).parents().find(".add-cart").data("id"); 
    if($('#cartAdded'+tid).length==0)  
    $(this).parents().find(".add-cart").parent().append('<span style="color:#40b87d;display:block" id="cartAdded'+tid+'"><br>Добавлено в корзину!<br> <ins><a href="/cart/oneclick/" style="color:#40b87d"><b>Перейти в корзину</b></a></ins></span>'); 
    else $('#cartAdded'+tid).html('<span style="color:#40b87d;display:block" id="cartAdded'+tid+'"><br>Добавлено в корзину!<br> <ins><a href="/cart/oneclick/" style="color:#40b87d"><b>Перейти в корзину</b></a></ins></span>'); 
	window.addedId=tid; 
    $.ajax({ 
        type: "POST", 
        url: "/include/addtocart.php",  
        data: {idAjax:tid, cart_sizeAjax:cart_size},  
        
        cache: false, 
        dataType: "html", 
     success: function(data) {   
          console.log(data); 
          loadcart();  
          setTimeout("$('#cartAdded'+window.addedId).detach()",15000); 
     } 
});  
 
});

Код кнопки:

<input type="submit" style="margin-top: 15px;" class="add-cart btn btn--has-icon-after cart__continue-btn" id="add-cart-view" value="КУПИТЬ" data-id="'.$row1["products_id"].'" > 

Answer 1

Я реализовал с помощью чистого JavaScript-а очень простой пример.

И закомментил почти каждую строку.

Я думаю не осталось никаких проблем и вопросов не осталось как и куда надо внедрить модальное окно.Модальное окно вещь весьма примитивное нельзя для него включать jQuery или Bootstrap в ваш проект.

И совет старайтесь все делать без использования jQuery

// Берем модалку 
var modal = document.getElementById('myModal'); 
 
// Берем кнопку которое открывет окно 
var btn = document.querySelector(".add-cart"); 
 
//Берем  <span> элемент которое закрывает модалку  
var span = document.getElementsByClassName("close")[0]; 
 
// когда user кликает открыть модальное окно 
btn.onclick = function() { 
    modal.style.display = "block"; 
} 
 
// когда user кликает <span> (x), закрыть модалку 
span.onclick = function() { 
    modal.style.display = "none"; 
} 
 
// Когда user кликает в другом место кроме модалки закрыть окно 
window.onclick = function(event) { 
    if (event.target == modal) { 
        modal.style.display = "none"; 
    } 
}
/* Фон модалки */ 
.modal { 
    display: none; /* по умолчанию скрыты */ 
    position: fixed; /* неизменять */ 
    z-index: 1; /* должно быть наверху всех элементов */ 
    padding-top: 100px; /* Location of the box */ 
    left: 0; 
    top: 0; 
    width: 100%; /* полная ширина */ 
    height: 100%; /* полная высота */ 
    overflow: auto; /* скролл авто если будет нужно */ 
    background-color: rgb(0,0,0); /* задний цвет */ 
    background-color: rgba(0,0,0,0.4); /* тут думаю ясно */ 
} 
 
/* Модал контент */ 
.modal-content { 
    background-color: #fefefe; 
    margin: auto; 
    padding: 20px; 
    border: 1px solid #888; 
    width: 80%; 
} 
 
/* Закрывающая кнопка */ 
.close { 
    color: #aaaaaa; 
    float: right; 
    font-size: 28px; 
    font-weight: bold; 
} 
 
.close:hover, 
.close:focus { 
    color: #000; 
    text-decoration: none; 
    cursor: pointer; 
}
<input type="submit" style="margin-top: 15px;" class="add-cart btn btn--has-icon-after cart__continue-btn" id="add-cart-view" value="КУПИТЬ" data-id="'.$row1["products_id"].'" >  
 
<!-- Модалка --> 
<div id="myModal" class="modal"> 
 
  <!-- Контент модалки --> 
  <div class="modal-content"> 
    <span class="close">&times;</span> 
    <p>Какой то текст внутри модалки..</p> 
  </div>

READ ALSO
Кастомизация формы email Woocommerce

Кастомизация формы email Woocommerce

Подскажите что я не так делаюМне нужно поправить файл woocommerce/emails/plain/customer-new-account

192
SQL получить строки без русских букв

SQL получить строки без русских букв

Хочу получить все строки без русских букв в определенном поле- делаю запрос: SELECT * FROM dle_post WHERE full_story not like '%[а-я]%' Выводит все строки- как с русскими...

144
переделка из процедурного в ООП

переделка из процедурного в ООП

Доброго времени суток, есть скрипт в процедурном стиле, нужно переделать его в ООП, основную часть скрипта уже перевел, осталась эта часть...

156
Как в PHP слить 2 массива с одинаковыми значениями, и перезаписать их?

Как в PHP слить 2 массива с одинаковыми значениями, и перезаписать их?

Как в PHP слить 2 массива с одинаковыми значениями, и перезаписать их?

183