2014-12-04 98 views
0

我在JavaScript中很新,似乎有些事情我只是不了解布尔值。我试图切换一个布尔值,只要有人点击我的网页上的元素。代码如下所示:在JavaScript中切换布尔值的人

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

});

如果有人能解释我在做什么错我会非常感谢您的帮助。

预先感谢您

+0

欢迎来到JS的异步本质。每次点击都会在回调中切换布尔值,但只有在最初读取代码时才会检查一次布尔值。它不会监听对该变量的更改,因此您的保证金未被更改。 – LouisK 2014-12-04 20:45:32

回答

0

尝试......

$(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事件里面,如果结构,保证切换改变之后,检查。设置一个默认值对我来说是正确的,尽管在真正/错误的情况下,你可能会很好。