javascript - 在使用 setInterval 调用 x 次后执行函数

标签 javascript jquery

this article , 下面的函数被赋予用 setInterval()

执行一个操作 x
setIntervalX(function () {
    animateColor();
    //or something
}, 3000, 4);

function setIntervalX(callback, delay, repetitions) {
    var x = 0;
    var intervalID = window.setInterval(function () {

        callback();

        if (++x === repetitions) {
            window.clearInterval(intervalID);
        }
    }, delay);
}

callback() 在这里做什么?我正在尝试在指定的重复次数完成后执行一个功能。但是这个

setIntervalX(function () {
    animateColor();
}, 3000, 4, function(){

completeFunction();

});

不起作用。也许这种语法是非常错误的。我的印象是,使用 jquery,您可以将这样的函数串在一起。

非常感谢任何见解。谢谢!

最佳答案

我认为您对描述有轻微的误解。 setIntervalX 执行交互 x 次,而您希望在迭代后有一个回调函数。

function setIntervalX(interationFunction, delay, repetitions, callbackFunction) {
    var x = 0;
    var intervalID = window.setInterval(function () {

        iterationFunction();

        if (++x === repetitions) {
            callbackFunction();
            window.clearInterval(intervalID);
        }
    }, delay);
}

setIntervalX(
  function() {
    // this executed every time the interval triggers
  },
  1000, // amount of milliseconds to delay before interval triggers
  5, // amount of repetitions before interval is stopped and callback is executed
  function() {
    // this will be executed after the interval triggered 5 times
    // so after round about 5 seconds after setIntervalX was started
  }
);

关于javascript - 在使用 setInterval 调用 x 次后执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10250860/

相关文章:

javascript - Facebook - 共享链接无法正常工作 - javascript/jquery

jquery - 如何以编程方式旋转使用背景大小 :cover with Jquery? 的 div 的背景图像

javascript - jquery css 从一个 div 获取 child

javascript - 如何通过 javascript 检测 Stripe 的 Checkout 弹出表单是否加载失败

javascript - JS 模块 - ReferenceError : <function> is not defined

javascript - AngularJS - 模糊延迟

javascript - 面向对象的 JavaScript : Call method from inside of Callback Function

php - WordPress - 它可以工作,但我不知道为什么

JavaScript 对象性能

javascript - Slick Slider 同步多个 slider - 3