【发布时间】:2020-10-22 14:55:42
【问题描述】:
我正在尝试制作幻灯片。我偷看了一些 sn-ps,然后尝试在不直接复制的情况下重新创建它们。 这是sn-p:
var slideIndex = 0;
showSlides();
function showSlides() {
var i;
var slides = document.getElementsByClassName("mySlides");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slideIndex++;
if (slideIndex > slides.length) {slideIndex = 1}
slides[slideIndex-1].style.display = "block";
setTimeout(showSlides, 2000); // Change image every 2 seconds
}
好吧,我不明白 setTimeout 在函数只被调用一次时是如何工作的,为什么不在函数外使用 setInterval。 非常感谢。
【问题讨论】:
-
为什么不能在函数外使用setInterval?
-
其实这是我的疑惑。何时以及为什么应该使用带有 setTimeout 的递归,而不是在它之外使用 setInterval。
-
这完全取决于你如何编码。没有关于人们如何编码的确切定义。
标签: javascript recursion settimeout