我正在尝试创建一个由 3 个旋转图像组成的简单幻灯片,这些图像将在最后一个显示后立即重新开始,时间间隔为 5000 毫秒。
<div id="slideshow"> </div>
<script type="text/javascript">
var imageArray = ['Image1','Image2','Image3'];
var currentIndex = 0;
nextPic = function(currentIndex,slideshow) {
var theHTML = '<img src="http://www.domain.com/Pics/Test-' + imageArray[currentIndex] + '.jpg">';
document.getElementById("slideshow").innerHTML = theHTML;
if (currentIndex < imageArray.length) {
currentIndex = currentIndex + 1;
}
else {
currentIndex = 0;
}
setTimeout("nextPic(" + currentIndex + ")", 5000);
}
nextPic(currentIndex, "slideshow");
</script>
我发现的每个 Javascript 代码变体都产生了相同的结果:在最后一个图像 (Test-Image3.jpg) 之后,JS 尝试在重置回第一个图像之前显示未定义的图像 ("Test-undefined.jpg") . 除此之外,它工作得非常好,而且非常令人抓狂。