2012-12-25 97 views
1
var light = 'off'; 
$('#switch').toggle(function(){light='on'},function(){light='off'}); 


//in some case 
$('#something').mouseout(function(){light = 'off'}); 

例如,我點擊開關,然後指示燈亮起,當時我彈出一些東西,指示燈熄滅,我想再次打開指示燈,然後再次點擊開關,但開關認爲指示燈仍然亮着並再次執行指示燈。我必須點擊兩次才能打開燈光,如何解決這個問題?如何控制jQuery切換?

+0

http://api.jquery.com/toggle – nbrooks

回答

1

在這種情況下,我認爲切換是不夠的,因爲您對切換狀態有外部影響。

所以:

var light = 'off'; 

function toggleLight() { 
if (light == "off") 
    light = "on"; 
else 
    light = "off"; 
} 

$('#switch').click(toggleLight); 
$('#something').mouseout(function() { light = "off"; }); 
+0

每當我來切換事情,撥動上來在我的腦海,我想這應該工作,似乎與外界影響它不能,它會在點擊後工作。 – FatDogMark