我能够设置一个脚本来显示“售罄”标签,如果该项目为0,并且该项目有1000显示“售完”,这样可以正常工作。
我想知道如果项目少超过1000,那么如何设置标签以显示“卖出”,所以不完全是1000
我只是把它放在一个“<”在1000号前面。
<script type="text/javascript">
jq(function() {
jq("span.spn_U3").each(function() {
switch(jq(this).text()) {
case "0":
jq(this).closest(".stylesummarytext").prev()
.append('<div class="styleoverlay soldout"><span>Sold Out</span></div>');
break;
case "<1000":
jq(this).closest(".stylesummarytext").prev()
.append('<div class="styleoverlay sellingout"><span>Selling Out</span></div>');
break;
}
});
});
</script>
提前致谢
答案 0 :(得分:6)
请勿使用switch
声明。使用if/else
:
qty = parseInt(jq(this).text(), 10);
if (qty == 0) {
jq(this).closest(".stylesummarytext").prev()
.append('<div class="styleoverlay soldout"><span>Sold Out</span></div>');
} else if (qty < 1000) {
jq(this).closest(".stylesummarytext").prev()
.append('<div class="styleoverlay sellingout"><span>Selling Out</span></div>');
}
请注意,可以使用带有复杂案例的switch
语句,但对于这样一组简单的案例,没有令人信服的理由:
qty = 0;
switch(true) {
case qty == 0:
jq(this).closest(".stylesummarytext").prev()
.append('<div class="styleoverlay soldout"><span>Sold Out</span></div>');
break;
case qty < 1000:
jq(this).closest(".stylesummarytext").prev()
.append('<div class="styleoverlay sellingout"><span>Selling Out</span></div>');
break;
}
答案 1 :(得分:0)
Javascript switch..case肯定不会处理嵌入在字符串中的布尔运算符。 只需使用标准if条件。