タイマーをクリアするセレクターがあると非常に面倒ですが、タイマーが設定されていないと、プログラムは でスタックしclearInterval()
ます。この Fiddle を見てください: http://jsfiddle.net/tw4A7/
ボタン 1 は へsetInterval()
、ボタン 2 は へclearInterval()
です。最初にボタン 2 をクリックすると、動かなくなり、残りの機能を続行できなくなります。これは、タイマーを設定する条件またはセレクターがあり、別の条件が満たされたときにタイマー ループから抜け出す必要があるシナリオの例にすぎません。
もちろん、clearInterval()
関数の最後の部分に置くと解決できます。ただし、他のことを行う前にタイマーを停止する必要がある場合があります。
タイマーが開始されたかどうかを確認する方法はありますか? そうして初めて明らかになりますか?または、スキップしclearInterval()
て続行しますか?
リクエストとして、hjpotter:
$('#1').click(function(){
$('#test').append("0");
loop=setInterval(function(){
$('#test').append("1");
}, 1000);
});
$('#2').click(function(){
window.clearInterval(loop);
$('#test').html("2");
});