2014-12-04 140 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事件裏面,如果結構,保證切換改變之後,檢查。設置一個默認值對我來說是正確的,儘管在真正/錯誤的情況下,你可能會很好。