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

223
Vistas
¿Cómo cambiar la clase del elemento cuando el último apunta y permanece sobre otro elemento?

El proyecto tiene el menú fijo con el logo svg blanco. Cuando el menú fijo sobre el menú de la sección negra debe permanecer en blanco, si está sobre la sección negra, el logotipo debe convertirse en negro. Probé muchas variantes para este objetivo. Pero todos ellos no funciona correctamente. También traté de usar la antigua biblioteca jQuery: verificación de antecedentes pero no funciona en absoluto. Aquí está la última variante que creé:

 $(window).scroll(function() { let headerLogo = $("#header_logo"); let overlaySection = $("#overlay-section"); let headerLogo_top = headerLogo.offset().top; let headerLogo_bottom = headerLogo_top + headerLogo.height(); let overlaySection_top = overlaySection.offset().top; let overlaySection_bottom = overlaySection_top + overlaySection.height(); let services = $("#services"); let services_top = services.offset().top; let services_bottom = services_top + services.height(); if (headerLogo_bottom >= overlaySection_top && headerLogo_top < overlaySection_bottom) { headerLogo.addClass('black_active') }else if(headerLogo_bottom >= services_top && headerLogo_top < services_bottom){ headerLogo.removeClass('black_active') } else{ headerLogo.removeClass('black_active') } });

Y casi funciona, pero no correctamente porque la clase cambió a temprana y el color del logotipo cambió de negro a blanco cuando no apunta al siguiente bloque negro. Tal vez haya una biblioteca jQuery antigua pero buena, por favor avíseme que necesito averiguar en este problema.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En lugar de addClass y removeClass, ¿ha intentado lo siguiente?

 headerLogo.classList.toggle('black_active');

Por alguna razón, siempre me quedo atascado con los otros dos, pero esto siempre parece funcionar.

about 4 years ago · Juan Pablo Isaza Denunciar
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