ClearInterval 只工作一次
ClearInterval works only one time
有人可以帮我处理这段代码吗?间隔不会停止,我看不出我做错了什么。当我第一次点击 link 间隔时停止,第二次他们通过所有三个。
if(location_type == 'friends'){
GetReactionCount(location_type,'0',limits);
intervals1 = setInterval(function() {
GetReactionCount(location_type,'0',limits);
}, 10000);
return
}else
if(location_type != 'friends'){ clearInterval(intervals1); }
if(location_type == 'neighborhood'){
GetReactionCount(location_type,postcode,limits);
intervals2 = setInterval(function() {
GetReactionCount(location_type,postcode,limits);
}, 10000);
return
}else
if(location_type != 'neighborhood'){clearInterval(intervals2); }
if(location_type == 'city'){
GetReactionCount(location_type,stad,limits);
intervals3 = setInterval(function() {
GetReactionCount(location_type,stad,limits);
}, 10000);
return
}else
if(location_type != 'city'){clearInterval(intervals3); }
您有三个可能的间隔,存储在 intervals1
、intervals2
和 intervals3
中。每次调用此代码时,您只会停止其中一个间隔,因此如果第二次调用此代码时,其他两个间隔之一是 运行,那么它将保持 运行,您将开始另一个,因此您将有两个或更多间隔运行。
如果您只想让一个区间成为 运行,则只将一个区间存储在一个变量中,并在开始一个新区间之前停止该区间。或者,如果您需要所有三个区间变量,则创建一个简短的小函数,在开始新变量之前对所有三个变量调用 clearInterval()
。
有人可以帮我处理这段代码吗?间隔不会停止,我看不出我做错了什么。当我第一次点击 link 间隔时停止,第二次他们通过所有三个。
if(location_type == 'friends'){
GetReactionCount(location_type,'0',limits);
intervals1 = setInterval(function() {
GetReactionCount(location_type,'0',limits);
}, 10000);
return
}else
if(location_type != 'friends'){ clearInterval(intervals1); }
if(location_type == 'neighborhood'){
GetReactionCount(location_type,postcode,limits);
intervals2 = setInterval(function() {
GetReactionCount(location_type,postcode,limits);
}, 10000);
return
}else
if(location_type != 'neighborhood'){clearInterval(intervals2); }
if(location_type == 'city'){
GetReactionCount(location_type,stad,limits);
intervals3 = setInterval(function() {
GetReactionCount(location_type,stad,limits);
}, 10000);
return
}else
if(location_type != 'city'){clearInterval(intervals3); }
您有三个可能的间隔,存储在 intervals1
、intervals2
和 intervals3
中。每次调用此代码时,您只会停止其中一个间隔,因此如果第二次调用此代码时,其他两个间隔之一是 运行,那么它将保持 运行,您将开始另一个,因此您将有两个或更多间隔运行。
如果您只想让一个区间成为 运行,则只将一个区间存储在一个变量中,并在开始一个新区间之前停止该区间。或者,如果您需要所有三个区间变量,则创建一个简短的小函数,在开始新变量之前对所有三个变量调用 clearInterval()
。