对于大学我必须创建一个javascript幻灯片。 我使用函数setTimeout("其他函数",超时)。 我的问题是使用这个函数recursive(slideshow())可以工作,但是当我尝试在for循环中使用它时(altSlideshow())没有任何反应。
// this one works
function slideShow() {
nextImg();
setTimeout(slideShow, timeOut); //Angabe Timeout in Millisekunden
}
// this one doesn't work
function altSlideshow(){
for(var x = 0; x <= 4; x++){
setTimeout(nextImg(), timeOut);
}
}
提前致谢!
答案 0 :(得分:1)
这里有两个问题:
nextImg()
而非nextImg
更改
setTimeout(nextImg(), timeOut);
到
setTimeout(nextImg, timeOut*(x+1));
答案 1 :(得分:0)
我认为你想传递对函数的引用,而不是使用返回的值:
function altSlideshow(){
for(var x = 0; x <= 4; x++){
setTimeout(nextImg, timeOut);
}
}
此外,正如破坏提及的那样,您应该使用x
为每次迭代生成一个唯一的超时。