Saltar al contenido principal
Codigo Heroe
Tarea anterior
Introducción a los eventos11/21
A la lista de tareas
  1. 1. Eventos del usuario
  2. 2. Añadir un manejador de eventos
  3. 3. Sintaxis de los manejadores
  4. 4. Acciones predeterminadas
  5. 5. Funciones como argumentos
  6. 6. Eliminar clases con classList.remove()
  7. 7. Eventos de teclado
  8. 8. Identificar una tecla
  9. 9. Cerrar una ventana con ESC
  10. 10. Seleccionar los elementos de una galería
  11. 11. Añadir manejadores en un ciclo
  12. 12. Cambiar el src de una imagen
  13. 13. Depurar un manejador
  14. 14. Ámbito local
  15. 15. Ámbito global
  16. 16. Cambiar variables externas
  17. 17. Funciones dentro de funciones
  18. 18. Cierres
  19. 19. Un cierre en cada llamada
  20. 20. Usar cierres en los manejadores
  21. 21. Completar la galería
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Añadir manejadores en un ciclo

Ya encontramos los elementos de la galería. Ahora podemos programar la lógica: el usuario hace clic en una miniatura → cambia la imagen grande.

Primero hay que añadir un manejador de clic a cada miniatura. Todas están en la colección thumbnails. Podemos recorrerla con un ciclo y añadir un manejador al elemento de cada iteración. Así todas las miniaturas tendrán su manejador.

Dentro del manejador mostraremos una cadena en la consola. Después haremos clic en una miniatura para comprobar que funciona. ¡A hacer clic!

  • index.html
  • style.css
  • script.js
HTML
<!DOCTYPE html> <html lang="es"> <head> <meta charset="utf-8"> <title>Galería de Cupcake</title> <link href="gallery/setting.css" rel="stylesheet"> <link href="style.css" rel="stylesheet"> </head> <body class="pattern"> <section class="gallery"> <h1>Galería de Cupcake</h1> <p class="gallery__photo-full"> <img class="full-photo" src="gallery/laptop-large.jpg" width="550" height="367" alt="Fotografía ampliada de Cupcake"> </p> <p class="gallery__photo-previews"> <button class="gallery__photo-preview" type="button"> <img src="gallery/laptop.jpg" alt="Miniatura de Cupcake con una computadora portátil"> </button> <button class="gallery__photo-preview" type="button"> <img src="gallery/microphone.jpg" alt="Miniatura de Cupcake con un micrófono"> </button> <button class="gallery__photo-preview" type="button"> <img src="gallery/keyboard.jpg" alt="Miniatura de Cupcake con un teclado"> </button> <button class="gallery__photo-preview" type="button"> <img src="gallery/signboard.jpg" alt="Miniatura de Cupcake con un letrero"> </button> <button class="gallery__photo-preview" type="button"> <img src="gallery/tree.jpg" alt="Miniatura de Cupcake junto a un árbol"> </button> </p> </section> <script src="script.js"></script> </body> </html>
CSS
.gallery { display: flex; flex-direction: column; align-items: center; } .gallery__photo-full { margin-bottom: 12px; } .gallery__photo-full img { display: block; } .gallery__photo-previews { display: flex; list-style-type: none; margin: 0; width: 550px; padding: 0; justify-content: space-between; } .gallery__photo-preview { padding: 0; border: 0; border-radius: 0; background: none; } .gallery__photo-preview:hover, .gallery__photo-preview:focus { opacity: 0.7; } .gallery__photo-preview img { display: block; object-fit: cover; width: 100px; height: 100px; } .gallery__photo-preview--active img { outline: 5px solid red; outline-offset: -5px; } .pattern { background: url("gallery/leaves-pattern.png") 0 0 repeat; }
JavaScript
var photos = [ 'gallery/laptop-large.jpg', 'gallery/microphone-large.jpg', 'gallery/keyboard-large.jpg', 'gallery/signboard-large.jpg', 'gallery/tree-large.jpg' ]; var thumbnails = document.querySelectorAll('.gallery__photo-preview'); var fullPhoto = document.querySelector('.full-photo');

El código ha cambiado, haz clic en "Actualizar" o activa la ejecución automática.

Ha ido a otra página

Haga clic dentro del mininavegador para poner el foco en esta ventana.

100%
Consola
ObjetivosRealizado
0
    1. Después de las variables, escribe un ciclo for que incremente el contador i de uno en uno, desde 0 hasta la longitud de thumbnails, sin incluir ese último valor.
    2. Dentro del ciclo, añade un manejador de clic al elemento actual de la colección, thumbnails[i].
    3. Dentro del manejador, añade la instrucción que muestra la cadena 'Clic en la imagen' en la consola.
    4. Haz clic en una de las miniaturas y revisa la consola.
    Codigo Heroe

    © 2023-2026, codigoheroe.com