您可以尝试在将商品添加到购物车后触发页面重新加载。因此,您可以修改您的freePump
函数以包含页面重载。
代码示例:
function freePump(button) {
addPump(button);
$.get('/cart.php?action=add&sku=S-17128')
.done((data, status) => {
endLoad(button);
// 在此处重新加载页面,最好设置一个短暂延迟以确保购物车更新完成
setTimeout(function() {
window.location.reload();
}, 1000); // 您可以根据需要调整延迟时间
});
}
您也可以修改freePump
函数,在将商品添加到购物车后调用一个新的函数来检查购物车状态并更新按钮显示。
function updateButtonBasedOnCart() {
$.ajax({
url: '/api/storefront/cart',
method: 'GET',
success: function(carts) {
var showFreePump = false;
carts.forEach(cart => {
cart.lineItems.physicalItems.forEach(item => {
if (item.sku === 'S13660055' || item.sku === 'S13660005') {
showFreePump = true;
}
});
});
// 更新界面UI
if (showFreePump) {
$('.freePumpBtnhide').hide();
$('.freePumpBtn').show();
} else {
$('.freePumpBtn').hide();
$('.freePumpBtnhide').show();
}
}
});
}
function freePump(button) {
addPump(button);
$.get('/cart.php?action=add&sku=S-17128')
.done((data, status) => {
endLoad(button);
updateButtonBasedOnCart();
});
}