繁体   English   中英

更改millisec的window.setInterval函数

[英]Change millisec for window.setInterval function

我使用window.setInterval函数。 此函数包含3个参数:

setInterval(code,millisec,lang)

我这样使用:

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

但是当第一次设置计时器(第二个参数)时,它没有改变,其行为类似于以下代码:

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

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

请改用window.setTimeout

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

    window.setTimeout(myTimer, delay);
}

window.setTimeout(myTimer, delay);

您可以操纵函数主体中的delay

您的问题是javascript首先执行“ 1000 * ++计数器”一次,然后不更新时间间隔。
您应该尝试使用超时: https//developer.mozilla.org/en/DOM/window.setTimeout
并在每次调用超时功能时使用新值创建一个新超时。

听起来您想要的不是循环中的setInterval而是setTimeout

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

这将一个接一个地执行三个不同的“计时器”。
实时测试案例: http//jsfiddle.net/86DRd/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM