Slider z dwoma warunkami [js]

0

Witam wszystkich, jestem lamą :P tzn ogarniam nieco temat ale słabiutko

mam z w3schools skrypt slidera
jeden z nich jest klikalny do zmieniania obrazków, drugi zmienia się automatycznie

i oto pytanie jak je połączyć by leciał sobie sam ale jak klikniemy w strzałkę to automat się zatrzymuje i można przerzucać obrazki przyciskami nawigacji

automat
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_slideshow_auto

kod

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
}

nawigacja
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_slideshow


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";
}

wybaczcie pewnie dla Was banał :)

4
var slideIndex = 0;
var shouldAutoSlide = true;

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

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

autoSlide();

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";
}

function autoSlide () {
    if(shouldAutoSlide) {
      showSlides(slideIndex += 1);
      setTimeout(autoSlide, 1000);
    }
}
0

dzięki dobry człowieku ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1