使用minicart.js显示购物车中的商品数量

时间:2014-05-15 00:44:14

标签: javascript jquery paypal

问题: 如何使用minicart.js脚本显示用户购物车中的商品数量?

背景故事: 我正在开发一个静态HTML网站,该网站使用标准PayPal按钮销售少量产品并minicart.js

我想在我的网站标题中显示一个区域,该区域显示当前在"购物车"中的项目数量,但我无法弄清楚如何操作。在minicart.js网站上没有详细说明此功能的示例。

我确信可以做到,但我不知所措。任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

我设法通过minicart.js找到必要的变量集然后通过jQuery操作来找到一种方法来实现我正在寻找的东西。

minicart.js给出了以下变量,它输出当前的购物车总数:

paypal.minicart.cart.total();

然后我接受了这个变量,并应用了一些jQuery,将这个变量转换为一个名为“cartTotal”的单独变量,每当用户在页面上进行交互时(即点击或按键),都会检查并更新该变量。我发现需要短暂的延迟才能使一切正常工作。有趣的是,按键检查需要比鼠标点击更长的延迟。

我的最终(现在)工作代码如下:

$( document ).ready(function() {
     var cartTotal = paypal.minicart.cart.total();
        $('input#cart').val('$' + cartTotal);

    $( "body" ).click(function() {
            setTimeout(function() { // Setting slight delay on function to accomodate for button push of removing items from cart
             var cartTotal = paypal.minicart.cart.total();
            $('input#cart').val('$' + cartTotal);
        }, 100);
    });


    $( "body" ).keypress(function() {
       setTimeout(function() { // Setting longer delay on function to accomodate for key push of removing items from cart
             var cartTotal = paypal.minicart.cart.total();
            $('input#cart').val('$' + cartTotal);
        }, 900);
    });

答案 1 :(得分:0)

您可以这样获得:

paypal.minicart.cart.items().length

对我有用