Estoy contento con el funcionamiento de esta presentación de diapositivas, pero me gustaría que fuera automática después de 3 segundos en caso de que el usuario no avance manualmente la diapositiva.
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"); if (n > slides.length) { slideIndex = 1 } if (n < 1) { slideIndex = slides.length } for (i = 0; i < slides.length; i++) { slides[i].classList.remove("active"); } slides[slideIndex - 1].classList.add("active"); };Puede usar setInverval para ejecutar automáticamente plusSlides a intervalos regulares. Si el usuario interactúa manualmente, puede usar clearInterval para detener el avance automático de las diapositivas.
var interval = setInterval(function() { plusSlides(1) }, 3000);Esto haría avanzar la diapositiva en uno cada 3000 ms (3 segundos). Si ahora desea deshabilitar el avance automático (tal vez porque un usuario interactuó con algo), puede usar:
clearInterval(interval);