2014-01-30 45 views
0

我有一张我想要通过幻灯片显示的图像列表。我已经设置了一个基本功能来显示图像,然后使用setTimeout来调用该功能并移至下一个图像。setTimeout不记得函数javascript

该功能只被调用一次,只显示一个图像。我检查了setTimeout的语法我确定它是正确的。我的代码在别的地方有什么故障导致这种情况?每次

<img id='screenImg' src='' height='300' width='450'/> 

function slideshow() { 

var screenImg = document.getElementById('screenImg'); 
var gradImg = ['images/grad1.jpg', 'images/grad2.jpg', 'images/grad3.jpg', 'images/grad4.jpg', 'images/grad5.jpg', 'images/grad6.jpg',]; 
var gradAmt = gradImg.length-1; 
var i = 0; 

if(i > gradAmt) { 
    i = 0; 
} 
screenImg.src = gradImg[i]; 
i++; 
var timer = setTimeout(slideshow, 1000); 
} 
slideshow();   
+0

你也可以使用setInterval功能,它定期调用一个函数。 http://www.w3schools.com/jsref/met_win_setinterval.asp – Esko

回答

3

重置i0slideshow被调用。

移动var i = 0;所以它在功能之外。


既然不会是本地的功能更多,可以考虑给它一个更加明确的名称,如slideshow_index