Как добавить автоматическое c слайд-шоу в слайдер JavaScript на 10 секунд? - PullRequest
0 голосов
/ 07 февраля 2020

Я пытался добавить setTimeout (showSlides, 10000); Но это не работает. Какой лучший способ сделать автоматическое слайд-шоу c без задержки на странице?

var slideIndex = 1;
showSlides(slideIndex);

function plusSlides(n) {
  showSlides(slideIndex += n);
}

function currentSlide(n) {
  showSlides(slideIndex = n);
}

function showSlides(n) {
  var i;
  var slides = document.getElementsByClassName("mySlides");
  var dots = document.getElementsByClassName("dot");
  if (n > slides.length) {slideIndex = 1}    
  if (n < 1) {slideIndex = slides.length}
  for (i = 0; i < slides.length; i++) {
      slides[i].style.display = "none";  
  }
  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";
}

1 Ответ

1 голос
/ 07 февраля 2020

Этот подход по умолчанию может быть полезным.

<!DOCTYPE html>
<html>

<body>
<div style="max-width:500px">
  <img class="mySlides" src="your image url" style="width:100%">
  <img class="mySlides" src="your image url" style="width:100%">
  <img class="mySlides" src="your image url" style="width:100%">
</div>

<script>
var myIndex = 0;
carousel();

function carousel() {
  var i;
  var x = document.getElementsByClassName("mySlides");
  for (i = 0; i < x.length; i++) {
    x[i].style.display = "none";  
  }
  myIndex++;
  if (myIndex > x.length) {myIndex = 1}    
  x[myIndex-1].style.display = "block";  
  setTimeout(carousel, 2000); // Change image every 2 seconds
}
</script>

</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...