2012-07-11 80 views
1

我有一個按鈕,並且我希望當點擊該按鈕時將我的變量click設置爲true,而當再次單擊該按鈕時(我想要切換功能),將設置爲false在切換功能中將var設置爲true/false

click == true,我希望它輸出clicked到控制檯,當click == false我想它輸出not clicked

var click = false 

這是我的切換功能:

$('.button').toggle(
    function(){ 
     click = true; 
     $('.bmw').show(); 

    }, function() { 
     click = false; 
     $('.bmw').hide(); 

    }); 

而且我希望它做的事情:

if(click = true) { 
    console.log('clicked'); 
} else { 
    console.log('not clicked'); 
} 

當我加載頁面的控制檯顯示not clicked但是當我按下按鈕,不切換到true。然而,當我切換按鈕時,bmw對象** .bmw會顯示並隱藏,看起來工作正常。

我在做什麼錯?

回答

4

您分配不點擊

你應該這樣做的價值與===

if(click == true) { 
    console.log('clicked'); 
} else { 
    console.log('not clicked'); 
} 

比較然而,你甚至都不需要使用if(click == true)。您實際上可以使用if(click)代替。

編輯:從我們在評論中討論的內容看來,只有在代碼第一次運行時才調用if語句,而不是每次切換。我建議用if語句在裏面創建一個單獨的函數,然後在切換的兩個部分調用這個方法。

+0

這可能不是您唯一的問題,但它是您代碼中的問題。一旦你修復並測試這個,你將能夠看到你的代碼是否存在其他問題。 – 2012-07-11 12:18:15

+0

感謝您回答如此之快。所以我嘗試了這一點,不幸的是它似乎並不是唯一的問題。它仍然無法正常工作。雖然謝謝! – KriSp 2012-07-11 12:33:49

+0

你在哪裏有if語句?它什麼時候被叫?你每次切換時都會打電話嗎? – 2012-07-11 12:36:23