我试图用javascript构建一个简单的自运行幻灯片。当我执行以下代码时,我收到一条错误消息,表明已超出最大调用堆栈大小。我不确定这意味着什么,但计算机无法找到图片的位置并将其列为undefined
。请告诉我哪里出错了。谢谢你的帮助
var slide = 0 /* the tracker for every picture */
var left_arrow = document.getElementById("arrow_left")
var right_arrow = document.getElementById("arrow_right")
var gallery = document.getElementById("picture")
slideshow(0);
length = images.length - 1
function slideshow(slide) {
images = ["blackchicken.jpg", "bantamchicken.jpg", "goldenegg.jpeg"]
console.log(slide)
pic = '<img src="' + images[slide] + '">'
console.log(pic)
gallery.innerHTML = pic
slide += 1;
if (slide == length) {
slide = 0
}
setTimeout(slideshow(), 3000); // Change image every 3 seconds
}
答案 0 :(得分:2)
该功能正在调用
setTimeout(slideshow(), 3000);
^^
这是在无限循环中填充堆栈,这解释了你的问题。