2012-12-15 208 views
2

有沒有更好的方法來實現切換/切換,然後我使用。它有效,但對我來說似乎很笨拙。Javascript切換/切換?

var foo = true; 

$(document).on("click","$element",function(){ 
    if(foo){ 
    //code 
    foo = false; 
    } 
    else{ 
     //code 
     foo = true; 
    } 
}); 
+0

這取決於代碼是否*只*翻轉富,或者是否在代碼塊內發生任何其他事情.. – kwah

+0

不,對我來說似乎沒關係。如果你只是想扭轉價值HBP的答案會做到這一點,如果你需要更多的代碼,如代碼註釋所示,那麼看起來你做得對。 – adeneo

回答

6

這是短且更甜:

foo = !foo 

除非中間代碼是不同的在這種情況下的解決方案取決於該代碼。

0

你可以做這樣的事情:

var foo = true; 
$(document).on("click","$element",function(){ foo=!foo; } 

但是因爲你使用jQuery,您可能希望將其存儲在數據屬性:

$(document).on("click","$element",function(){ 
    $(this).data('foo', !$(this).data('foo')); 
});