javascript - 重新启动 setInterval

标签 javascript jquery setinterval clearinterval

所以我有一个计时器,每 5 秒旋转一组图像。因此,我在文档启动时运行它。

$(document).ready(function() {
var intervalID=setInterval(function(){ 
     rotate();    
}, 5000);
});

旋转功能只是简单地旋转图像。但是,我也允许用户手动选择他们正在查看的图像。因此,我需要取消 SetInterval,然后在 5 秒后重新开始

我想做的是取消间隔然后重新开始

$('a').click(function(){
 clearInterval(intervalID);   
 intervalID=setInterval(function(){ 
     rotate();    
}, 5000);    
});

但是,代码似乎并没有像我希望的那样重置间隔。

最佳答案

如果 intervalID 变量是在 .ready() 范围内声明的,则以下内容应该有效(未经测试):

$(document).ready(function() {
    var rotate = function() { ... },
        intervalID = setInterval(rotate, 5000);

    $('a').click(function() {
       clearInterval(intervalID);   
       intervalID = setInterval(rotate, 5000);    
    });
});

关于javascript - 重新启动 setInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6856651/

相关文章:

javascript - 将 setInterval 函数时间保存在 yii2 的配置文件中

javascript - 如何将连续的 setInterval() 包装在一个永远的循环中?

javascript - 如何通过javascript从下拉列表中获取选定的值并在java bean中设置选定的值?

javascript - jQuery $el.trigger ('change' ) 不会触发 native 监听器

javascript - DOMContentLoaded 是否等待网络字体 (Firefox)?

javascript - 从 JSON 中获取键和值

jquery - 最接近的形式附加不起作用

javascript - 如何使用 setInterval 从 ajax 页面本身重复 ajax 调用?

javascript - Jquery输入数字的倍数(keyup)

javascript - 使用 1 个按钮的 jQuery slideToggle div