В основном сайт предназначен для продажи физических курсов, и в корзину можно добавить только один курс. Клиент добавляет курс в корзину (корзина очищается всякий раз, когда клиент добавляет курс в корзину) и при этом автоматически перенаправляется в корзину. Все это прекрасно работает.
Я разрешил повторные заказы, чтобы товар можно было добавить в корзину, если его нет в наличии, но сейчас мне нужно, чтобы при нажатии кнопки Перейти к оформлению заказа нажал , он вызывает всплывающее окно, уведомляющее о том, что товара нет в наличии, и останавливает покупателя.
У меня такой подход, но я хочу прочитать ваше мнение.
JS
if($('.product-cart-title .backorder_notification').length){
$('.checkout-button').attr("href", "#openModal");
} else {
return;
}
CSS
.modalDialog {
position: fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(198, 195, 195, 0.55);
z-index: 99999;
opacity:0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
}
.modalDialog:target {
opacity:1;
pointer-events: auto;
}
.modalDialog > div {
width: 400px;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
background: #fff;
-webkit-box-shadow: 1px 1px 10px 0px rgba(0,0,0,0.5);
-moz-box-shadow: 1px 1px 10px 0px rgba(0,0,0,0.5);
box-shadow: 1px 1px 10px 0px rgba(0,0,0,0.5);
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
}
.closemodal {
background: #fff;
color: #811937;
line-height: 25px;
position: absolute;
right: 0;
text-align: center;
top: 0;
width: 24px;
text-decoration: none;
font-weight: bold;
}
HTML
<div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Close" class="closemodal">X</a>
<h2>Sorry!</h2>
<p>The item is currently out of stock.</p>
</div>
</div>