javascript - 运行 setInterval 几次,然后暂停几秒钟

标签 javascript jquery settimeout setinterval

我需要我的代码运行 x 次,然后暂停 30 秒左右,然后再继续。有什么想法吗?

myslidefunction();
var tid = setInterval(myslidefunction, 1000);

function myslidefunction() {
    setTimeout(function () {
        //do stuff  
    }, 400); 
};

最佳答案

您可以保留一个运行计数,并使用normal_duration + 30000作为setTimeout延迟 X+ 次

var runCount = 0, runsBeforeDelay = 20;
function myslidefunction(){

    // .. stuff

    runCount++;
    var delay = 0;
    if(runCount > runsBeforeDelay) {
        runCount = 0;
        delay = 30000;
    }
    setTimeout(myslidefunction, 400 + delay);
};

// start it off
setTimeout(myslidefunction, 1000);

关于javascript - 运行 setInterval 几次,然后暂停几秒钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923242/

相关文章:

jquery - 如何自定义DevExtreme数据网格确认消息

JavaScript 计时器未更新

javascript - JQuery根据水平tr的类名检查td中的所有复选框

javascript - 运行完后重新启动动画

javascript - 如果满足某些条件,则从 JavaScript 数组中删除重复的对象

javascript - Angular js $http 请求获取失败

jquery - 使用 "data-toggle"向下滚动到 Bootstrap 选项卡

javascript - 模糊事件在 FireFox 中不起作用

javascript - 如何设置多行打字效果以响应行间延迟

javascript - 如何在 JS 中以 1 秒的延迟逐行制作循环日志