重复Javascript幻灯片显示

问题描述 投票:0回答:1

我有一个正在播放的幻灯片,但是在图像的结尾只是停止了。我可以在代码中添加或更改某些内容(如下),以使其重复或连续循环吗?

var slideIndex = 0;
showSlides();

function showSlides() {
  var i;
  var slides = document.getElementsByClassName("mySlides");
  var dots = document.getElementsByClassName("dot");
  for (i = 0; i < slides.length; i++) {
    slides[i].style.display = "none";  
  }

  slideIndex++;
  if (slideIndex > slides.length) {slideIndex = 1}    
  for (i = 0; i < dots.length; i++) {
    dots[i].className = dots[i].className.replace(" active", "");
  }


  slides[slideIndex-1].style.display = "block";  
  dots[slideIndex-1].className += " active";
  setTimeout(showSlides, 2000); // Change image every 2 seconds
}
javascript slideshow repeat
1个回答
0
投票

您可以使用setInterval代替setTimeout

setTimeout()仅在一次setInterval()时触发一次表达式在给定的时间间隔后保持规则地触发表达式。(除非您告诉它停止)。

=> setInterval(showSlides, 2000)

© www.soinside.com 2019 - 2024. All rights reserved.