我能够设置一个脚本,如果该商品有 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>
提前致谢
最佳答案
不要使用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;
}
关于javascript 如果小于,则显示售完,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21921821/