2

我需要能够调用此函数来重置间隔。

我知道以前有人问过这个问题。但是Javascript - Reset setInterval back to 0给出的答案 对我不起作用。

这是我尝试过的代码:

function startTimer(){
    clearInterval(interval);    
    var interval = setInterval(function(){
        advanceSlide();
    }, 5000);
};

我在页面的开头调用它来启动每 5 秒更改一次的幻灯片。我用这段代码再次调用它,我预计会重置那 5 秒。

onclick=startTimer();>

onclick 也做了另一件事,但这是行不通的。另一个动作发生了,但间隔没有改变,它仍然基于我点击之前剩下的 5 秒的相同部分。

4

1 回答 1

11

您需要在函数外部声明变量...

var interval;

function startTimer() {
    clearInterval(interval);    
    interval = setInterval(advanceSlide, 5000);
}

否则函数退出时会丢失。

于 2012-08-14T21:37:29.700 回答