我使用了window.setInterval
函数。这个函数包括3个参数:
setInterval(code,millisec,lang)
我这样用过:
var counter = 1;
window.setInterval(function() {}, 1000 * ++counter);
但是当第一次设置计时器(第二个参数)时,没有改变并且表现如下代码:
window.setInterval(function() {}, 1000);
请为更改计时器编写正确的代码
答案 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/