【问题标题】:How to show loading icon on Add to Cart Button in Woocommerce [closed]如何在 Woocommerce 中的“添加到购物车”按钮上显示加载图标 [关闭]
【发布时间】:2015-07-19 17:55:29
【问题描述】:

当用户单击它时,我想在“添加到购物车”按钮上显示一个加载符号。目前在我的网站中,当用户单击按钮时,它会在 2-4 秒内不执行任何操作并显示查看购物车按钮。

我想在这 4 秒内显示一些加载或旋转图标。可能吗?有人可以指导我吗

链接:http://www.myeatable.com/cnc-ongole/

【问题讨论】:

  • 这个主题也有问题。刷新后购物车变为零。并检查插件文件夹资产是否有 ajax-loader@2x.gif 这张图片

标签: php jquery wordpress woocommerce


【解决方案1】:

对于添加到购物车的加载图像,我可能建议在您的 js 中编写一个代码,该代码会加载到该页面上。

jQuery('a.add_to_cart_button').click(function(){jQuery(this).append('<img src="http://smallenvelop.com/wp-content/uploads/2014/08/Preloader_3.gif" width="20px" height="20px"/>')});

用于加载的图片链接例如,您可以将其替换为您想要的图片。

在将代码应用到文件中之前,请尝试从浏览器控制台添加它。

【讨论】:

  • 如何在 wordpress 中将此代码添加到我的 sn-p 中,或者我可以在哪里将此 jquery 代码添加到我的添加到购物车过程中,请咨询
【解决方案2】:

我有一个更好的解决方案,不需要在按钮上附加一些图像。

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();
};

【讨论】:

  • 我想你是说添加'loader'类,而不是'loading'。正确的?此外,它只显示微调器。我也想要那个小的透明覆盖框。任何想法,将使用哪个类?
  • 我已经更新了我的答案。
  • 这段代码有效吗?
  • 非常适合我,非常感谢!
  • 我如何知道产品是否正在加载?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-12
  • 2018-05-08
  • 1970-01-01
  • 2018-10-30
  • 2021-12-29
  • 1970-01-01
相关资源
最近更新 更多