2014-01-30 85 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