Javascript 向购物车添加一套12种产品

Javascript 向购物车添加一套12种产品,javascript,jquery,e-commerce,webflow,Javascript,Jquery,E Commerce,Webflow,你好,我的代码有问题 我想做同样的事情,但是用12的倍数,而不是数字12 例如12瓶啤酒、24瓶啤酒等,但不包括13、14或15瓶啤酒 对不起,我的英语很差 多谢各位 //初始化文本 $(“.beer info”).hide(); $(“.beer info alt”).hide(); $(“.checkout abs”).hide(); //选择目标节点-此处:。购物车列表 var target=document.getElementById('target'); //在这里输入您的参考

你好,我的代码有问题 我想做同样的事情,但是用12的倍数,而不是数字12

例如12瓶啤酒、24瓶啤酒等,但不包括13、14或15瓶啤酒

对不起,我的英语很差

多谢各位


//初始化文本
$(“.beer info”).hide();
$(“.beer info alt”).hide();
$(“.checkout abs”).hide();
//选择目标节点-此处:。购物车列表
var target=document.getElementById('target');
//在这里输入您的参考值
var targetQty=12;
//创建一个观察者实例
var观察者=新的突变观察者(功能(突变){
突变。forEach(功能(突变){
//console.log('cart update');
setTimeout(函数(){
var currentQty=$('.w-commerce-commercecartopenlinkcount')。text();
var leftQty=目标数量-当前数量;
//更新计数器-console.log('cans missing'+''+leftQty);
如果(左)数量
模数运算符
%
将给出currentQuantity除以目标数量后的余数。然后,您可以从targetQuantity中减去该余数,得到一包中可以容纳的啤酒数量

1 % 12 = 1
    12 - 1 = 11 beers remaining in a 12 pack

13 % 12 = 1
    12 - 1 = 11 beers remaining in a 24 pack

25 % 12 = 1
    12 - 1 = 11 beers remaining in a 36 pack

您可以在进度指示器旁边显示当前的包数

var totalPacks = Math.ceil(currentQuantity/targetQuantity)

You have {leftQty} beers of pack {totalPacks}

非常感谢@hapi您为我节省了宝贵的时间:)

现在我的progressbar还有一个问题。 是否可以在每次添加12个附加产品时重置为0? (示例:添加13个产品时,进度条就像只添加了一个产品,与25个产品相同,以此类推)

再次感谢您的帮助:)

这里是我的更新代码和我工作进度的新链接


//初始化文本
$(“.beer info”).hide();
$(“.beer info alt”).hide();
$(“.checkout abs”).hide();
//选择目标节点-此处:。购物车列表
var target=document.getElementById('target');
//在这里输入您的参考值
var targetQty=12;
//创建一个观察者实例
var观察者=新的突变观察者(功能(突变){
突变。forEach(功能(突变){
//console.log('cart update');
setTimeout(函数(){
var currentQty=$('.w-commerce-commercecartopenlinkcount')。text();
var leftQty=目标数量-当前数量;
//更新计数器-console.log('cans missing'+''+leftQty);
如果(左数量=12){
$(“.beer info alt”).show();
$(“.checkout abs”).show();
}
否则{
$(“.beer info alt”).hide();
$(“.checkout abs”).hide();
}
var totalPacks=数学单元(当前数量/目标数量);
$(“.number of packs”).text(totalPacks);
$(“.beers left”).text(leftQty);
$(“.beers-left2”).text(leftQuantity);
//更新progressionstackbar-console.log(progressBar);
var progressBar=当前数量/目标数量*100;
$(“.completed bar”).css('width',progressBar+'%');
}, 300);
});
});
//观察员的配置:
变量配置={
属性:false,
儿童名单:是的,
characterData:false
};
//传入目标节点以及观察者选项
observer.observe(目标,配置);

非常感谢@hapith我原始答案的最后一部分应该会有帮助。Left Quantity应该满足您的要求var leftQty=targetQty-(currentQty%targetQty);
var totalPacks = Math.ceil(currentQuantity/targetQuantity)

You have {leftQty} beers of pack {totalPacks}