Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

295
Vistas
Agregar/eliminar clase al elemento después de desplazar x píxeles

Me gustaría agregar una clase a un elemento después de estar a X píxeles de la parte superior de la página y eliminar esa clase si te acercas a la parte superior. Para eso creé el siguiente código

 document.getElementsByTagName("body")[0].onscroll = function() { function offset(el) { var rect = el.getBoundingClientRect(), scrollLeft = window.pageXOffset || document.documentElement.scrollLeft, scrollTop = window.pageYOffset || document.documentElement.scrollTop; return { top: rect.top + scrollTop, left: rect.left + scrollLeft } } var filter = document.querySelector('.filter-component.navbar'); var divOffset = offset(filter); console.log(divOffset.left, divOffset.top); var hereitsfixed = divOffset.top + 55; if (this.scrollTop >= hereitsfixed) { filter.classList.add("lol"); } else { filter.classList.remove("lol"); } };

Entonces, primero estoy tratando de averiguar qué tan lejos está el elemento de la parte superior (porque eso podría cambiar) y agregar 55 píxeles a eso. Obtengo el número correcto aquí. Y luego, cuando se desplaza hacia abajo y ese número está lejos de la parte superior o más, debe agregar la clase o eliminarla. Pero aquí no pasa nada. Ni siquiera un mensaje de error. Solo obtengo el número de console.log (que está bien, lo elimino más tarde).

¿Qué estoy haciendo mal aquí? No puedo entenderlo.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda