[英]Dont understand how slideshow loops without FOR or WHILE loop being set?
我敢肯定,答案很簡單而且很明顯,但是我對下面的代碼如何循環感到困惑。 如您所見,它只是用於簡單的幻燈片放映,而我似乎無法理解的是,幻燈片放映是如何在沒有FOR或WHILE循環的情況下循環的。 我可以看到該函數由SetTimeout調用,但我的理解是該方法僅調用一次函數?
<img name="slide" width="400" height="200" />
var i = 0; // Start Point
var images = []; // Images Array
var time = 3000; // Time Between Switch
// Image List
images[0] = "http://lorempixel.com/400/200/animals";
images[1] = "http://lorempixel.com/400/200/sports";
images[2] = "http://lorempixel.com/400/200/food";
images[3] = "http://lorempixel.com/400/200/people";
// Change Image
function changeImg(){
document.slide.src = images[i];
// Check If Index Is Under Max
if(i < images.length - 1){
// Add 1 to Index
i++;
} else {
// Reset Back To O
i = 0;
}
// Run function every x seconds
setTimeout("changeImg()", time);
}
// Run function when page loads
window.onload=changeImg;
因此,通過遞歸,您正在創建邏輯的間接循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.