我正在通过ajax调用加载的页面中执行setTimeout函数。但是如果我单击链接再次加载页面,恐怕最后一次setTimeout调用仍然会继续,并且setTimeout设置的调用间隔数将多次执行。
尝试过这是远程页面:
var RefreshInterval = null;
clearTimeout(RefreshInterval);
function someFunction()
{
....
setNextRefresh();
}
function setNextRefresh() {
console.log(wifiRadarRefreshInterval);
RefreshInterval = null;
clearTimeout(RefreshInterval);
RefreshInterval = setTimeout('someFunction();', 20*1000);
}
最佳答案
在由ajax加载的页面之外声明var RefreshInterval = null;
,并在页面上使用以下代码:
clearTimeout(RefreshInterval);
function someFunction()
{
....
setNextRefresh();
}
function setNextRefresh() {
console.log(wifiRadarRefreshInterval);
clearTimeout(RefreshInterval);
RefreshInterval = setTimeout('someFunction();', 20*1000);
}