For循环问题中的JavaScript设置超时
我的问题是,我试图通过迭代值增加超时时间,并将其计时1000。例如,如果增量值为5,则超时时间为5*1000 我尝试过各种方法,第一种是->For循环问题中的JavaScript设置超时,javascript,for-loop,settimeout,Javascript,For Loop,Settimeout,我的问题是,我试图通过迭代值增加超时时间,并将其计时1000。例如,如果增量值为5,则超时时间为5*1000 我尝试过各种方法,第一种是-> var textValue = 10; function doSetTimeout(i) { setTimeout(function() { console.log(i); }, i * 1000); } for(var i = 1; i <= textValue; i++){ doSetTimeout(i); }
var textValue = 10;
function doSetTimeout(i) {
setTimeout(function() { console.log(i); }, i * 1000);
}
for(var i = 1; i <= textValue; i++){
doSetTimeout(i);
}
var textValue=10;
函数doSetTimeout(i){
setTimeout(函数(){console.log(i);},i*1000);
}
对于(var i=1;i
var textValue=10;
对于(var i=1;i超时实际上是正确的持续时间,它们只是同时开始,因为setTimeout
不会停止for循环的执行
这应该是您想要的:
var textValue=10;
delayLoop(textValue);
函数delayLoop(到,在){
var at=at | | 1;
如果(在时)超时实际上是正确的持续时间,则它们只是同时开始,因为setTimeout
不会停止for循环的执行
这应该是您想要的:
var textValue=10;
delayLoop(textValue);
函数delayLoop(到,在){
var at=at | | 1;
如果(在创建了一组setTimeout
s,在1000ms、2000ms、3000ms等之后触发。问题是您同时创建了它们,因此每个超时都会在下一个超时后1秒出现。有两种方法可解决此问题
最初为每个setTimeout
计算正确的延迟
第一个应为1000ms。第二个应在1000ms+2000ms之后。第三个应在1000+2000+3000之后。等等
var timeoutSum = 0;
for (var i = 1000; i <= 10000; i += 1000) {
timeoutSum += i;
setTimeout(function() { console.log("hi!"); }, timeoutSum);
}
var timeoutSum=0;
对于(var i=1000;i您创建了一组setTimeout
s,在1000ms、2000ms、3000ms等之后触发。问题是您同时创建了它们,因此每个超时将在下一个超时后1秒出现。有两种方法可解决此问题
最初为每个setTimeout
计算正确的延迟
第一个应为1000ms。第二个应在1000ms+2000ms之后。第三个应在1000+2000+3000之后。等等
var timeoutSum = 0;
for (var i = 1000; i <= 10000; i += 1000) {
timeoutSum += i;
setTimeout(function() { console.log("hi!"); }, timeoutSum);
}
var timeoutSum=0;
对于(var i=1000;i可能重复的可能重复的So是指从时间0开始,您希望事件在时间1000、3000、6000、10000、15000等处触发?可能重复的So是指从时间0开始,您希望事件在时间1000、3000、6000、10000、15000等处触发?它们是同时启动,但超时值为i*1000
,所以它们不应该间隔1秒启动吗?它们在同一时间启动,但超时值为i*1000
,所以它们不应该间隔1秒启动吗?
var wait = 1000;
function addTimeout(wait) {
setTimeout(function() {
console.log('hi');
if (wait < 10000) {
addTimeout(wait + 1000);
}
}, wait);
}
addTimeout(wait);