javascript - 如何通过缓动增加 javascript 循环延迟

标签 javascript jquery loops intervals easing

我需要从 1 数到 60,但我想用缓和方式来数,例如,它会从 1 到 30,延迟 100 毫秒,之后我需要增加延迟,以便逐渐计数当它达到 60 时减速。这是我到目前为止得到的(不多):

var i = 0;
var interval = setInterval(function(){
    i += 1;
    console.log(i);
    if(i == 60) {
        clearInterval(interval);
    }
}, 100);

最佳答案

我会使用 setTimeout(),像这样:

var delay = 100, count = 0;
function delayed () {
    count += 1;
    console.log(count);
    if (count > 30) {
        delay += 10;
    }
    if (count < 60) {
        setTimeout(delayed, delay);
    }
}
delayed();

A live demo at jsFiddle .

关于javascript - 如何通过缓动增加 javascript 循环延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20240037/

相关文章:

javascript - Relay 的注入(inject)网络层未被识别为 React 应用程序中的函数

javascript - 在鼠标悬停时取消 Jquery Slider 事件

javascript - 用jquery&regex完成的电话号码格式

c - 嵌套循环 C 编程 - 我需要扫描输入以查找字母集

objective-c - 加速循环以创建长字符串

javascript - 如何清除包含图像的 Canvas ?

javascript - JW Player 6 控制栏

javascript - 使用提要和列表

javascript - jQuery 实时搜索 - 也删除表头

python - 在 MySQL 中增量选择记录并在 Python 中保存到 csv