簡體   English   中英

幻燈片錯誤“RangeError:超出最大調用堆棧大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM