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

197
Visualizações
Ejecutar funciones en orden dentro de declaraciones "if"

tengo algunas funciones

 function growSeparator() { $('.applications-worth-module__separator').addClass('applications-worth-module__separator--active'); } function reachPkt1() { $('.point-1-separator').addClass('point-separator--pkt1_active'); } function reachPkt2() { $('.point-2-separator').addClass('point-separator--pkt2_active'); } function reachPkt3() { $('.point-3-separator').addClass('point-separator--pkt3_active'); } function reachPkt4() { $('.point-4-separator').addClass('point-separator--pkt4_active'); }

Cada uno de ellos agrega clase css con animación de fotogramas clave en su interior. Intento ejecutar una función cuando el elemento llega a la mitad de la pantalla. Estoy usando getBoundingClientRect para hacerlo.

 var pkt1 = document.querySelector(".point-1__container"); var pkt2 = document.querySelector(".point-2__container"); var pkt3 = document.querySelector(".point-3__container"); var pkt4 = document.querySelector(".point-4__container"); window.addEventListener('scroll', (e) => { if (pkt1.getBoundingClientRect().top < window.innerHeight/2) { growSeparator(); } if (pkt1.getBoundingClientRect().top < (window.innerHeight/2)) { reachPkt1(); } if (pkt2.getBoundingClientRect().top < (window.innerHeight/2)) { reachPkt2(); } if (pkt3.getBoundingClientRect().top < (window.innerHeight/2)) { reachPkt3(); } if (pkt4.getBoundingClientRect().top < (window.innerHeight/2)) { reachPkt4(); } })

El problema es que cuando me desplazo al último elemento, todas las funciones se activan al mismo tiempo, no una por una. Traté de usar el evento "animationend" y "transitionend", pero solo funciona para un elemento y para otros cuatro, no.

¿Cómo puedo lograr este efecto, cuando me desplazo al último elemento (.point-4__container) todas mis funciones anteriores se ejecutan una tras otra?

Gracias.

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