我尝试制作弹出式购物车,显示不正确,首先显示弹出窗口,然后更新购物车 我错过了什么?
我试过这个
<script>
BIS.cartPopup = {
init: function(container) {
var cartPopupLink = $('.buttCart');
var self = this;
container.hide();
cartPopupLink.on('click', function(e) {
e.preventDefault();
$.fancybox({
content: container,
afterLoad: function() {
container.show();
}
});
})
}
}
$(function() {
BIS.cartPopup.init($('#popup-cart-wrapper'));
})
</script>
这是一个html
<div class="popup__overlay" id="popup-cart-wrapper">
<div class="popup">
//cart inside
</div>
这是一个购物车更新代码:
<script>
if (!BIS.updateTopCart) {
BIS.updateTopCart = {
init: function() {
ajax_block('.top-cart');
ajax_load('.top-cart', '<?=$arResult['AJAX_CALL_ID']?>', $('.top-cart-form').serializeArray());
}
}
}
</script>
答案 0 :(得分:0)
您可能需要移动此AJAX代码:
$(function() {
BIS.cartPopup.init($('#popup-cart-wrapper'));
})
对于AJAX回调,它在购物车更新后执行:
BIS.updateTopCart = {
init: function() {
ajax_block('.top-cart');
ajax_load('.top-cart', '<?=$arResult['AJAX_CALL_ID']?>', $('.top-cart-form').serializeArray());
$(function() {
BIS.cartPopup.init($('#popup-cart-wrapper'));
})
}
}