我在試圖知道setInterval()是否正在發生或它已被殺死時遇到問題。 我創建的間隔,並將其保存到一個變量:如何在控制檯中跟蹤正在執行多少個區間 - JavaScript
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它們全部保存在同一個變量中,代替之前的時間間隔?所以我應該只有一個間隔的實例;然後在clearInterval(interval);
它應該停止任何實例。
查看結果後,顯然即使它保存在同一個變量中,它們都是單獨的實例,需要單獨殺死。
我該如何追蹤正在執行的區間有多少,如果可能的話一個一個地識別它們?即使我能夠解決問題我真的想知道是否有一種方法可以在控制檯中統計或顯示正在執行多少個間隔?
感謝
設置你這樣的間隔:'的setInterval(旋轉,3000);' - 如果你能在不通過串所有幫助。 – Pointy
不,從理論上講,他們**並非全部都保存在「間隔」中......如果我對你說得對。您需要將每個間隔ID單獨保存在一個數組左右。 – Kiruse