这是一个例子 - 但问题是它停在没有销售价格的产品上,说“我爱伦敦迷你框架钱包”只需135美元。它将继续找到类别项目,但将停止只有一个实际价格(没有销售价格)的产品。这是为什么?不能继续查找课程项目并相应地计算,直到页面末尾忽略只有实际价格的产品?
function calculate(sale, original) {
percentDiscount = Math.round(eval((sale / original) * 100));
return percentDiscount;
}
$(document).ready(function() {
var salecost;
var originalcost;
var percent;
$('.item').each(function() {
salecost = $(this).find('.saleprice').html();
salecost = salecost.replace(/[^\d\.]/g, "");
originalcost = $(this).find('.actualprice').html();
originalcost = originalcost.replace(/[^\d\.]/g, "");
percentDiscount = calculate(salecost, originalcost);
if (percentDiscount > 30) {
$(this).find("#percentoff").html((percentDiscount) + '%');
$(this).find("#percentoff").addClass('badge30');
}
if (percentDiscount > 50) {
$(this).find("#percentoff").html((percentDiscount) + '%');
$(this).find("#percentoff").addClass('badge50');
}
if (percentDiscount > 70) {
$(this).find("#percentoff").html((percentDiscount) + '%');
$(this).find("#percentoff").addClass('badge70');
}
});
});
修改 一个问题 如果0和30 =绿色 如果30和50 =棕色 如果50和70 =黄色 如果70和100 =红色
是不是这样: if (50> percentDiscount > 70) {
$(this).find("#percentoff").html((percentDiscount) + '%');
$(this).find("#percentoff").addClass('badge70');
}
编辑II 另一个问题:
如何将html中的价格附加到div percentoff?
$(this).find("#percentoff").append.html((percentDiscount) + '%');
答案 0 :(得分:1)
奇怪的是,它在页面中途停止,但也许你可以使用if语句?
即改变
salecost = $(this).find('.saleprice').html()
到
if (salecost = $(this).find('.saleprice').html()) {
(当然有一个结束括号)