我想知道 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 个间隔,它们都保存在替换前一个区间的相同变量对吗?所以我应该只有一个间隔实例;然后 clearInterval(interval);
它应该停止任何实例。
看结果后,显然即使保存在同一个变量中,它们都是独立的实例,需要单独杀死。
如何跟踪正在执行的时间间隔,并在可能的情况下一一识别它们?即使我能够解决问题,我真的很想知道是否有办法在控制台中计算或显示正在执行的时间间隔?
谢谢