用javascript制作的幻灯片超过了调用堆栈

时间:2016-11-11 21:04:17

标签: javascript

我试图用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
}

1 个答案:

答案 0 :(得分:2)

该功能正在调用

setTimeout(slideshow(), 3000);
                    ^^

这是在无限循环中填充堆栈,这解释了你的问题。