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

166
Visualizações
¿Cómo hacer un bucle de una lista de clases de alternancia infinitamente a través de una matriz?

Estoy tratando de obtener un efecto de ciclo/bucle en 3 elementos H1, mostrando un color de fuente púrpura para cada H1 durante algunos segundos y luego cambio a otro H1 justo debajo del primero.

Quería que este efecto fuera infinito y pensé en usar for loop y setInterval pero estoy llegando a alguna parte.

 setInterval(changeColorLoop(), 2000); function changeColorLoop() { const titleArtArray = document.querySelectorAll(".art-text"); for (var i = 0; i < titleArtArray.length; i++) { titleArtArray[i].classList.toggle = ".purple"; } } <div class="art-column"> <h1 class="art-text">Think</h1> <h1 class="art-text">Design</h1> <h1 class="art-text">Code</h1> </div> .purple { color: purple; }
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Esto pone en marcha la "animación". Necesita un poco de pulido. Editar: Pulido, gracias a @jeanjacquesgourdin. Edición 2: se agregó algo de transición CSS

 let index = 0; function changeColorLoop() { const titleArtArray = document.querySelectorAll(".art-text"); titleArtArray[index % 3].classList.toggle("purple"); titleArtArray[(index + 1) % 3].classList.toggle("purple"); index++ } setInterval(changeColorLoop, 1000);
 .art-text { transition: all 1000ms ease-in-out; } .purple { color: purple; }
 <div class="art-column"> <h1 class="art-text purple">Think</h1> <h1 class="art-text">Design</h1> <h1 class="art-text">Code</h1> </div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Si te entiendo bien puedes hacer algo como

 let index = 0; const titleArtArray = document.querySelectorAll(".art-text"); setInterval(()=>{ titleArtArray[index].classList.toggle = ".purple"; titleArtArray[index+1].classList.toggle = ".purple"; index = (index + 1) % 3 }, 2000); <div class="art-column"> <h1 class="art-text purple">Think</h1> <h1 class="art-text">Design</h1> <h1 class="art-text">Code</h1> </div>
about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes hacer lo siguiente:

 <script> setInterval(() => { const titleArtArray = document.querySelectorAll(".art-text"); titleArtArray[0].classList.add("purple"); setTimeout(() => { titleArtArray[0].classList.remove("purple"); titleArtArray[1].classList.add("purple"); setTimeout(() => { titleArtArray[1].classList.remove("purple"); titleArtArray[2].classList.add("purple"); setTimeout(() => { titleArtArray[2].classList.remove("purple"); }, 500); }, 500); }, 500); }, 2000); </script> <div class="art-column"> <h1 class="art-text">Think</h1> <h1 class="art-text">Design</h1> <h1 class="art-text">Code</h1> </div> <style> .purple { color: purple; } </style>
about 4 years ago · Juan Pablo Isaza Relatório
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