javascript - 如何在页面加载和按钮单击时根据数字隐藏 DIV?

标签 javascript jquery html css

我有一个生成数字的跨度,如果它是 0,我想隐藏/显示两个 div,如果是其他任何东西,则相反。

首先它需要在页面加载时应用,然后在单击特定按钮时应用。

HTML:

<button class="button">Add to cart</button>
<span class="catInStock">0</span>

 <div id="slave">SOLD OUT</div>
 <div id="slave-1">Some form</div>

代码:

var n = $("span.catInStock").text();

if (n == 0) {
     $("div#slave").hide();
     $("div#slave-1").show();
   } else {
     $("div#slave").show();
     $("div#slave-1").hide();
   }    

  $('.button').click(function () {
   if (n == 0) {
     $("div#slave").hide();
     $("div#slave-1").show();
   } else {
     $("div#slave").show();
     $("div#slave-1").hide();
   }
 });

我不认为运行它两次是最好的选择,更 slim 的东西会有意义。

最佳答案

可以使用带有 bool 参数的toggle()来隐藏/显示

function displaySlaves( ){
     var n = $("span.catInStock").text();
     $("div#slave").toggle( n=='0');
     $("div#slave-1").hide( n !='0' );
}
/* page load*/
$(function(){  
   displaySlaves( );
   $('.button').click(displaySlaves)
})

关于javascript - 如何在页面加载和按钮单击时根据数字隐藏 DIV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14178820/

相关文章:

javascript - onmouseup 在 safari 中不起作用

javascript - 图像未在弹出窗口中显示(CSS、HTML、Javascript)

jquery - 我正在尝试做一个阅读更多按钮,但我刚开始使用 javascript/jquery

javascript - 使用更多属性更新模型 (backbone.js)

javascript - Linux Compiz 对 HTML 元素的影响

javascript - 对象数组返回与特定 ID 关联的标签

javascript - jQuery 日期选择器 : Multiple input giving an error

javascript - 带孔的模态背景

javascript - Angular .js : How to add userinput for price and keep subtotal

javascript - 在 Angular Material 中提交选择选项值