1
var light = 'off';
$('#switch').toggle(function(){light='on'},function(){light='off'});


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

比如我点击了开关,然后灯亮了,当时我mouseout了一些东西,灯灭了,我想再开灯,再次点击开关,但是开关认为灯还亮着执行灯 = 再次关闭。我必须点击它两次才能打开灯,如何解决这个问题?

4

1 回答 1

1

在这种情况下,我认为切换是不够的,因为您对切换的状态有外部影响。

所以:

var light = 'off';

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

$('#switch').click(toggleLight);
$('#something').mouseout(function() { light = "off"; });
于 2012-12-25T09:16:59.817 回答