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

356
Vistas
Línea deslizante de navegación al pasar el mouse (y estado activo)

Me gustaría sacar esto de esta publicación original: https://stackoverflow.com/a/65040903/1406440

Usé algo similar hace años ( https://codepen.io/moy/pen/pZdjMX ) pero usa mucho jQuery en comparación. Entonces me preguntaba si puedo modificar el ejemplo en la publicación original para lograr el mismo efecto. Lo que significaría...

  • Actualizando para que si hubiera un elemento 'activo', la línea ya esté visible y se mueva desde esa ubicación.
  • ¿Es posible aplicar a una class en lugar de una id ?
  • Teniendo en cuenta lo anterior, ¿podría aplicarse esto en dos lugares separados o necesitaría duplicar el código?
  • Finalmente, me pregunto si podríamos usar un :before o :after de la clase para que no tenga un div flotando en el ul .

 const navBar = document.getElementById("nav"); const navCursor = navBar.querySelector('.cursor'); const navItems = navBar.querySelectorAll('li'); function handleMouseEnterNavItem(event) { // executed when mouse enter a navigation item // update cursor to match position and size of target const { offsetLeft, clientWidth } = event.target; navCursor.style.left = offsetLeft + 'px'; navCursor.style.width = clientWidth + 'px'; } navItems.forEach((navItem) => { navItem.addEventListener('mouseenter', handleMouseEnterNavItem); });
 ul { position: relative; } ul li { font-family: sans-serif; text-decoration: none; color: gray; margin: 22px 10px 10px; display: inline-block; padding: 0; /* note: padding will be underlined */ } ul .cursor { background: blue; height: 1px; position: absolute; bottom: 0; z-index: 10; transition: .16s all 0.025s; } ul a { text-decoration: none; }
 <ul id="nav" class="tabs-nav"> <li class="active"><a href="#">News</a></li> <li><a href="#">Activities</a></li> <li><a href="#">Search</a></li> <li><a href="#">Time</a></li> <div class="cursor"></div> </ul>

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