javascript 如果小于,则显示售完

标签 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>

提前致谢

最佳答案

不要使用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/

相关文章:

javascript - 添加选项以增加 YouTube 视频的低音

javascript - 如何使一个div可以拖动到另一个div上?

javascript - 当子元素的不透明度发生变化时,mac 上的边距会出现奇怪的行为

jquery - 定制 Smooth 产品,作者:Kevin Thornbloom

jquery - 在 Odoo 中修改发票页面 CSS

Javascript setattribute - 名称和值不起作用

javascript - 当新视频加载 Tauri 和 Svelte 时如何更新视频的当前时间?

javascript - 整个页面顶部的可拖动 div(页面加载时)

html - Bootstrap - 固定列

JavaScript 不工作,我不明白为什么