我在网站上使用迷你wocommerce购物车功能。当产品添加到购物车时,迷你购物车会自动刷新。
代码:
add_filter( 'woocommerce_add_to_cart_fragments', function($fragments) {
ob_start();
?>
<div class="mini-cart">
<?php woocommerce_mini_cart(); ?>
</div>
<?php $fragments['div.mini-cart'] = ob_get_clean();
return $fragments;
} );
购物车实现了一个滚动条脚本,当购物车中有太多项目时,该脚本就可以工作。
问题是,当页面加载或将产品添加到购物车后,迷你购物车会被刷新,但滚动脚本会停止工作我不得不再次运行代码滚动条,但我不知道该怎么做
如何在每次刷新片段后运行javascript代码?
WooCommerce购物车片段允许在不重新加载整个页面的情况下更新页面上与购物车相关的组件。这是通过在cart事件发生时触发AJAX请求来完成的。您可以通过转到assets/js/frontend/cart-fragments.js
来引用该代码。
您发布的PHP代码挂钩到AJAX请求返回的内容,以便您可以更改或添加更多HTML。
在前端,使用jQuery处理cart片段,并且在不同阶段触发了许多事件。要在刷新购物车片段时运行一些自定义JavaScript,您需要侦听wc_fragments_refreshed
事件。
由于事件是通过jQuery触发的,因此需要使用jQuery来侦听它(不能使用纯JS(。
示例:
jQuery( function( $ ) {
$( document.body ).on( 'wc_fragments_refreshed', function() {
// JavaScript you want to run when cart fragments are refreshed...
});
});