setInterval加速|使用Javascript

时间:2016-04-03 16:17:00

标签: javascript

我试图逐渐贬低执行setinterval函数内部函数的时间间隔

以下是原则的抽象代码:

var speed = 100;
window.setInterval( speed-= 0.01 , speed);

我相信在第一次执行setInterval并使用时,速度的值是一次,而不是在每次执行时都采用。 如果是这样,我怎么能解决这个问题呢?我通过将间隔设置为1000并设置"速度 - ="来验证这一点。到999,然后打印速度值。 该值从1000跳到1然后继续下降999,即使在值变为负值之后,setinterval内的函数也每1秒执行一次。

1 个答案:

答案 0 :(得分:0)

使用更改间隔递归调用setTimeout的示例。

function go() {
    var node = document.createElement('div');
    node.innerHTML = speed.toFixed(2);
    document.body.appendChild(node);
    if (speed > 1) {
        setTimeout(go, speed);
    }
    speed *= 0.9;
}

var speed = 100;
go();