[英]Optimization , window.setInterval or .change function on range
[英]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.