更改window.setInterval函数的millisec

时间:2011-07-28 10:35:13

标签: javascript

我使用了window.setInterval函数。这个函数包括3个参数:

setInterval(code,millisec,lang)

我这样用过:

var counter = 1;
window.setInterval(function() {}, 1000 * ++counter);

但是当第一次设置计时器(第二个参数)时,没有改变并且表现如下代码:

window.setInterval(function() {}, 1000);

请为更改计时器编写正确的代码

3 个答案:

答案 0 :(得分:0)

改为使用window.setTimeout

var delay = 1000;
function myTimer() {
    // do whatever

    window.setTimeout(myTimer, delay);
}

window.setTimeout(myTimer, delay);

您可以操作功能正文中的delay

答案 1 :(得分:0)

你的问题是javascript首先执行'1000 * ++ counter'一次,然后不更新时间间隔 您应该尝试使用超时:https://developer.mozilla.org/en/DOM/window.setTimeout
每次调用超时函数时,都会使用新值创建一个新的超时时间。

答案 2 :(得分:0)

听起来像你之后的setInterval而不是setTimeout在循环中:

var counter = 1;
for (var i = 1; i <= 3; i++) {
    window.setTimeout(function() {
        alert("#" + counter);
        counter++;
    }, i * 1000);
}

这将执行三个不同的&#34;定时器&#34;一个接一个。
实时测试用例:http://jsfiddle.net/86DRd/