【发布时间】:2014-08-19 07:50:51
【问题描述】:
使用以下代码,当我不再调用 interval 时,我的时间间隔会重置,但是当我再次调用 interval 时,计数器不会从零开始,而是继续计数。
代码
var i=0;
var counter=0;
var play_int = setInterval(function(){ event_play() }, 4000);
function clear_event_play(){
clearInterval(play_int);
}
function replay_events(){
setInterval(function(){ event_play() }, 4000);
}
function event_play(){
counter+=30;
i++;
alert (i);
if (i > 4){
clear_event_play();
replay_events();
}
var event_id = $('.stnby_pstr_cntr'+i+'').attr("data-eventid");
....
我在哪里错过它?
【问题讨论】:
-
您只存储对在第一次调用
setInterval时创建的间隔的引用,但不存储在replay_events内部的调用 - 因此您将无法清除在那里创建的间隔更多的。而且我没有看到您在任何地方重置counter的值。
标签: jquery loops counter setinterval intervals