我一点都不精通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是该网站,非常感谢您的帮助。