javascript重置间隔

Eri*_*nes 2 javascript reset setinterval

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

我知道之前有人问过这件事.但是Javascript给出的答案 - 将setInterval重置为0 对我来说不起作用.

这是我试过的代码:

function startTimer(){
    clearInterval(interval);    
    var interval = setInterval(function(){
        advanceSlide();
    }, 5000);
};
Run Code Online (Sandbox Code Playgroud)

我在页面的开头调用它来开始每5秒更改一次的幻灯片.我使用这段代码再次调用它,我希望这会重置5秒钟.

onclick=startTimer();>
Run Code Online (Sandbox Code Playgroud)

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

小智 8

你需要在函数外面声明变量......

var interval;

function startTimer() {
    clearInterval(interval);    
    interval = setInterval(advanceSlide, 5000);
}
Run Code Online (Sandbox Code Playgroud)

否则在函数退出时会丢失.

  • @Rocket:我*是*一个机器人,但我愚弄了他们。 (2认同)