【问题标题】:toggling booleans in javascript在javascript中切换布尔值
【发布时间】:2014-12-04 20:06:10
【问题描述】:

我是 javascript 方面的新手,似乎有些东西我只是不了解布尔值。每当有人单击我网页上的元素时,我都会尝试切换布尔值。代码如下所示:

$(document).ready(function() {
var toggled;
$("#button").click(function(){
   toggled=!toggled;
}); 
if(toggled){
     $(".offcanvas").css("margin-left","0%");
}
else{
    $(".offcanvas").css("margin-left","-40%");
}

});

如果有人可以解释我做错了什么,我将非常感谢您的帮助。

提前谢谢你

【问题讨论】:

  • 欢迎来到 JS 的异步特性。每次单击时都会在回调中切换布尔值,但仅在最初读取代码时才检查一次。它不会监听该变量的更改,因此您的边距不会被更改。

标签: javascript jquery boolean toggle


【解决方案1】:

试试这个...

$(document).ready(function() {
  var toggled = false;
  $("#button").click(function(){
   toggled=!toggled;
    if(toggled){
       $(".offcanvas").css("margin-left","0%");
    }
    else{
      $(".offcanvas").css("margin-left","-40%");
    }
  });
});

在 click 事件中移动 if 结构将确保在切换切换后检查它。设置默认值对我来说感觉不错,尽管使用真/假你可能会很好。

【讨论】:

    猜你喜欢
    • 2018-05-16
    • 2017-09-27
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多