...
|
...
|
@@ -41,6 +41,7 @@ var $main = $('.main'), |
|
|
|
|
|
var maxStock = -1; // 记录当前选中的颜色-尺码的库存量,若为-1,代表未选择尺码
|
|
|
var $maxColor = null; // 记录当前选中的颜色
|
|
|
var limitStock = 0; // 当前限购件数
|
|
|
|
|
|
var $shoppingCarBtn = $('.shoppingCar-btn');
|
|
|
|
...
|
...
|
@@ -80,6 +81,15 @@ function limitedProductUrl(s) { |
|
|
return window.location.href + '?openby:yohobuy={"action":"go.limitpurchase","params":{"lp":"' + s + '"}}';
|
|
|
}
|
|
|
|
|
|
// 在限制购买数量和最大购买数下取真值
|
|
|
function getStock() {
|
|
|
if (maxStock < limitStock) {
|
|
|
return maxStock;
|
|
|
}
|
|
|
|
|
|
return limitStock || maxStock;
|
|
|
}
|
|
|
|
|
|
function isEmpty(el) {
|
|
|
return !$.trim(el.html());
|
|
|
}
|
...
|
...
|
@@ -454,8 +464,11 @@ bindEvent.add(function() { |
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 当前能购买数
|
|
|
var _num = getStock(); // eslint-disable-line
|
|
|
|
|
|
// +-按钮状态重置
|
|
|
if (maxStock === 1 || maxStock === 0) {
|
|
|
if (_num === 1 || _num === 0) {
|
|
|
|
|
|
// 数目为1/0时
|
|
|
$plusNum.addClass('dis');
|
...
|
...
|
@@ -647,6 +660,14 @@ bindEvent.add(function() { |
|
|
return;
|
|
|
}
|
|
|
|
|
|
limitStock = +$this.data('limit');
|
|
|
|
|
|
if (limitStock) {
|
|
|
$('.bundle.limit').text('限购' + limitStock + '件').removeClass('hide');
|
|
|
} else {
|
|
|
$('.bundle.limit').addClass('hide');
|
|
|
}
|
|
|
|
|
|
maxStock = +$this.data('num');
|
|
|
|
|
|
$this.siblings('.focus').removeClass('focus');
|
...
|
...
|
@@ -780,17 +801,20 @@ bindEvent.add(function() { |
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (maxStock === -1) {
|
|
|
// 当前能购买数
|
|
|
var _stock = getStock(); // eslint-disable-line
|
|
|
|
|
|
if (_stock === -1) {
|
|
|
showSizeWarn();// 显示选择尺码提示
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 已售罄
|
|
|
if (maxStock === 0) {
|
|
|
if (_stock === 0) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (num === maxStock - 1) {
|
|
|
if (num === _stock - 1) {
|
|
|
|
|
|
// +按钮不可点
|
|
|
$(this).addClass('dis');
|
...
|
...
|
@@ -801,7 +825,7 @@ bindEvent.add(function() { |
|
|
$minusNum.removeClass('dis');
|
|
|
}
|
|
|
|
|
|
$num.text(num + 1 > maxStock ? maxStock : num + 1);
|
|
|
$num.text(num + 1 > _stock ? _stock : num + 1);
|
|
|
}).on('selectstart', function() {
|
|
|
return false;
|
|
|
});
|
...
|
...
|
@@ -818,7 +842,7 @@ bindEvent.add(function() { |
|
|
$(this).addClass('dis');
|
|
|
}
|
|
|
|
|
|
if (num === maxStock) {
|
|
|
if (num === getStock()) {
|
|
|
|
|
|
// 恢复+可点
|
|
|
$plusNum.removeClass('dis');
|
...
|
...
|
|