Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

190
Visualizações
¿Cómo puedo hacer una función DOM más eficiente?

Tengo 6 imágenes en una página en las que puedo hacer clic para ampliar usando un contenedor modal y agregar o eliminar una opacidad. Haré lo mismo en una segunda página y estoy tratando de averiguar cómo acortar el código en lugar de escribir individualmente cada uno.

El HTML se parece a:

 <section class="container-footwear"> <div class="article-large"> <article class="footwear"> <p> <img src="images/KSwiss.jpg" alt="" class="footwear-image" id="fi-1" />Text </p> </article> </div> <div class="modal-container" id="modal-container1"> <div class="modal"> <img class="modal-img" src="images/KSwiss.jpg" alt="" /> <button class="footwear-button" id="close1">x</button> </div> </div> ...(this carries on using the same pattern to id="fi-6") </section>

Entonces el CSS relacionado con el contenedor modal es:

 .modal-container { display: flex; align-items: center; justify-content: center; position: fixed; opacity: 0; pointer-events: none; top: 0; left: 0; height: 100vh; width: 100%; background-color: rgba(0, 0, 0, 0.2); transition: opacity 0.3s ease; }
 .modal-container.show { pointer-events: auto; opacity: 1; z-index: 999; }

y el JS que controla es así:

// Artículo 1. //Inicializando las variables que contienen el ID de la imagen.

 const open1 = document.getElementById("fi-1");
 const modalContainer1 = document.getElementById("modal-container1");
 const close1 = document.getElementById("close1");

//Añadiendo la función para cambiar la opacidad a través del selector de show.

 open1.addEventListener("click", () => { modalContainer1.classList.add("show"); });
 close1.addEventListener("click", () => { modalContainer1.classList.remove("show"); });

Intenté usar un bucle o una nueva función que se llama onclick en el HTML. Todavía no estoy lo suficientemente familiarizado con las cosas de DOM para conocer todos los diferentes comandos. ¿Puede alguien darme un puntero en la dirección correcta? Debe haber una manera de tener una función que reaccione a cualquier imagen en la que se haga clic en lugar de repetir los mismos comandos una y otra vez solo para una nueva identificación de imagen.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda