我有一个更好的解决方案,不需要在按钮上附加一些图像。
WooCommerce 提供了一个“加载”类。只需将此类附加到“添加到购物车”按钮即可。
$( '.add_to_cart_button' ).on( 'click', function(){
$(this).addClass('loading');
});
一旦产品被添加到购物车中,您就可以使用 removeClass 函数来删除加载器,例如
$(this).removeClass('loading');
如果要将 WooCommerce 加载器添加到特定部分,您可以使用这些 WooCommerce 功能
block( $( 'div.summary.entry-summary' ) );
unblock( $( 'div.summary.entry-summary' ) );
这两个功能块通过传递特定的 id 或类来解除对特定部分的阻塞。
var is_blocked = function( $node ) {
return $node.is( '.processing' ) || $node.parents( '.processing' ).length;
};
var block = function( $node ) {
if ( ! is_blocked( $node ) ) {
$node.addClass( 'processing' ).block( {
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
} );
}
};
var unblock = function( $node ) {
$node.removeClass( 'processing' ).unblock();
};