JavaScript - ¿Me pueden explicar qué pasa en este código simple Js?

 
Vista:

¿Me pueden explicar qué pasa en este código simple Js?

Publicado por Rafael (1 intervención) el 05/11/2019 18:32:47
Hola a todos, un gusto poder sentir apoyo por parte vuestra. He estado aprendiendo JavasScript en estas últimas semanas y tengo tropezones graves por mi inexperiencia. Tengo este código para lograr un SLIDESHOW y la verdad es que no lo logro entender del todo su lógica. Por favor, me seria de gran ayuda si le echáis un vistazo al código y me lo explicais un poco. ¿Cómo es que sucede el cambio de imágenes? Hay funciones dentro de otras funciones a los que se las pasa un parámetro pero no logró traducirlo. Muchisimas gracias y saludos.

Este es el código completo:
https://www.w3schools.com/howto/howto_js_slideshow.asp

Aquí os dejo la fracción del Js:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var slideIndex = 1;
showSlides(slideIndex);
 
// Next/previous controls
function plusSlides(n) {
  showSlides(slideIndex += n);
}
 
// Thumbnail image controls
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";
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Xavi
Val: 1.807
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

¿Me pueden explicar qué pasa en este código simple Js?

Publicado por Xavi (68 intervenciones) el 06/11/2019 08:14:38
Hola Rafael, a grandes rasgos, lo que haces es:
- esconder todos los slides
- quitar la clase "active" a todos los dots
- mostrar el slider activo
- poner la clase "acrtive" al dot activo

No se si hay alguna instrucción en concreto que no entiendas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar