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

150
Visualizações
Aplicación de estilo a secciones basadas en IntersectionObserver

Mi pregunta aquí es de dos partes. Pero todo relativo a entender más sobre cómo funciona el observador de intersección.

Obtengo todas mis 'secciones', recorro y aplico el observador a cada una. Mi objetivo es que si la sección se cruza, quiero aplicar un estilo, y para las que no se cruzan, no quiero que se aplique el estilo. en la carga de la página, todas mis secciones tienen el borde y no se alternan como esperaría. Además, en mi console.log (entrada), la entrada parece registrarse antes de que realmente se cruce con la sección.

Ejemplo: me estoy desplazando hacia arriba y todavía estoy claramente en el borde de la "sección 3", pero ya apareció el registro de la "sección 2".

Un poco de ayuda con una comprensión general y algunas posibles soluciones sería increíble.

 let allSections = document.querySelectorAll('section')
 const options = { root: null, threshold: 0, rootMargin: '0px' } const observer = new IntersectionObserver(function (entries, observer) { entries.forEach(entry => { if (entry.isIntersecting) { console.log('ENTRY', entry.target) entry.target.style.border = '1px solid red' } else { entry.target.style.border = '1px solid transparent' } }) }, options) allSections.forEach(section => { observer.observe(section) })
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Es debido a su objeto de options , el threshold debe ser mayor que 0 si desea ver que sucede su animación.

threshold: 1 significa que entry.isIntersecting es verdadero cuando el 100 % del elemento está en la ventana gráfica.

threshold: 0.3 significa que entry.isIntersecting es verdadero cuando el 30 % del elemento está en la ventana gráfica, etc.

 const options = { root: null, threshold: 1, rootMargin: '0px' }

Si quieres saber más al respecto, puedes leer la documentación de MDN aquí .

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