setInterval() が行われているのか、それとも強制終了されたのかを知るのに問題があります。間隔を作成して変数に保存しています:
interval = setInterval('rotate()',3000);
次に、要素をクリックすると、間隔を停止し、10 秒待ってから新しい間隔を開始します。変数間隔はグローバルです。
$(elm).click(function(){
clearInterval(interval);
position = index;
$('#banner div').animate({
'margin-left':position*(-img_width)
});
setTimeout('startItnerval()',10000);
});
function startItnerval(){
interval = setInterval('rotate()',3000);
}
うまくいくようですが、最終的にはまだ間隔が残っていることに気付くことができます。新しい間隔を開始するたびに、グローバルな間隔変数に保存されるため、理論的には 100 間隔を開始してもすべて保存されます同じ変数が前の間隔を置き換えますよね? したがって、間隔のインスタンスは 1 つだけにする必要があります。次に、 clearInterval(interval);
インスタンスを停止する必要があります。
結果を見ると、明らかに同じ変数に保存されている場合でも、それらはすべて別のインスタンスであり、個別に強制終了する必要があります。
実行されている間隔の数を追跡するにはどうすればよいですか? また、可能であれば、それらを 1 つずつ特定するにはどうすればよいですか? 問題を解決できたとしても、実行されている間隔の数をコンソールにカウントまたは表示する方法があるかどうかを本当に知りたいですか?
ありがとう