javascript如果小于,显示销售

时间:2014-02-20 23:16:03

标签: javascript html

我能够设置一个脚本来显示“售罄”标签,如果该项目为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>

提前致谢

2 个答案:

答案 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条件。