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


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

たとえば、スイッチをクリックすると、ライトがオンになり、その時点で何かをマウスアウトすると、ライトがオフになり、ライトをもう一度オンにして、スイッチをもう一度クリックしますが、スイッチはライトがまだオンであると認識して実行しますライト = 再びオフ。ライトを点灯させるには 2 回クリックする必要があります。この問題を解決するにはどうすればよいですか?

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 に答える