我需要能够调用此函数来重置间隔。
我知道之前有人问过这件事。但答案给出了答案 Javascript - Reset setInterval back to 0 对我不起作用。
以下是我尝试过的代码:
function startTimer(){
clearInterval(interval);
var interval = setInterval(function(){
advanceSlide();
}, 5000);
};
我在页面的开头调用它来启动每5秒更改一次的幻灯片。我用这段代码再次调用它,我预计会重置5秒钟。
onclick=startTimer();>
onclick也做了另一件事,但这是不起作用的。另一个动作发生但是间隔没有改变,它仍然基于我点击之前剩下的5秒的相同部分。
答案 0 :(得分:8)
您需要在函数外声明变量...
var interval;
function startTimer() {
clearInterval(interval);
interval = setInterval(advanceSlide, 5000);
}
否则在函数退出时会丢失。