Bigcommerce的“ +”和“-”按钮增加和减少两次

时间:2019-01-10 18:34:14

标签: javascript bigcommerce

我一点都不精通javascript,并且遇到了一个问题,我的Bigcommerce商店上的“增加和减少数量”按钮(“ +”和“-”)以2为增量递增和递减。我质疑Bigcommerce的支持,他们向我指出了文件名 product-details.js 中的以下代码:

listenQuantityChange() {
    this.$scope.on('click', '[data-quantity-change] button', event => {
        event.preventDefault();
        const $target = $(event.currentTarget);
        const viewModel = this.getViewModel(this.$scope);
        const $input = viewModel.quantity.$input;
        const quantityMin = parseInt($input.data('quantityMin'), 10);
        const quantityMax = parseInt($input.data('quantityMax'), 10);

        let qty = parseInt($input.val(), 10);

        // If action is incrementing
        if ($target.data('action') === 'inc') {
            // If quantity max option is set
            if (quantityMax > 0) {
                // Check quantity does not exceed max
                if ((qty + 1) <= quantityMax) {
                    qty++;
                }
            } else {
                qty++;
            }
        } else if (qty > 1) {
            // If quantity min option is set
            if (quantityMin > 0) {
                // Check quantity does not fall below min
                if ((qty - 1) >= quantityMin) {
                    qty--;
                }
            } else {
                qty--;
            }
        }

        // CUSTOM - validate min qty
        console.log('F I R E D ');
        if (this.cf__minQty !== 0 && qty < this.cf__minQty) {
            swal({
                text: `The minimum purchase quantity for this item is ${this.cf__minQty}.`,
                type: 'error',
            });
            qty = this.cf__minQty;
        }

        // update hidden input
        viewModel.quantity.$input.val(qty);
        // update text
        viewModel.quantity.$text.text(qty);
    });
}

我可以看到它正在检查是否满足最小和最大数量以及递增还是递减,但是我无法弄清楚每次执行2次的方式或原因。

Shop.shannonloren.com是该网站,非常感谢您的帮助。

0 个答案:

没有答案