[英]Slideshow error "RangeError: Maximum call stack size exceeded
我正在嘗試將此圖像幻燈片添加到我的網站中,但是一直運行到超出最大調用堆棧大小。 slider在設置的時間間隔內跑過圖片然后報錯
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;
我將此作為答案發布,以提供一個最小、完整且可驗證的示例 (mcve) ,以確保 slider 不是罪魁禍首,代碼不會給出該錯誤。
這是當前的語法 - 如果仍然給出錯誤,那么肯定還有其他錯誤
let i = 0, img; const images = ["https://via.placeholder.com/150/0000FF/808080?text=Image1", "https://via.placeholder.com/150/FF0000/FFFFFF?text=Image2", "https://via.placeholder.com/150/FFFF00/000000?text=Image3", "https://via.placeholder.com/150/000000/FFFFFF/?text=Image4" ]; const changeImg = function() { slide.src = images[i]; i++; if (i >= images.length) i = 0; } window.addEventListener("load", function() { img = document.getElementById("slide"); changeImg(); setInterval(changeImg, 2000); })
<img id="slide" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.