Menú drop down (jQuery)
Last updated: 10.10.2025
Views: 239
El menú drop down se puede hacer sin JavaScript, solo con la ayuda de CSS. Con :hover. Pero el menú de JavaScript tiene sus ventajas. La más importante es el retraso en la desaparición de los elementos desplegables.
Consideremos un menú simple con un nivel de anidamiento. Escribiremos el código utilizando jQuery. Aunque jQuery no es la herramienta más moderna, esta biblioteca sigue utilizándose en muchos proyectos.
HTML
<ul class="nav">
<li>
<a href="#">Item 1</a>
<ul>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
</ul>
</li>
<li>
<a href="#">Item 2</a>
<ul>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
</ul>
</li>
<li>
<a href="#">Item 3</a>
<ul>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
<li><a href="#">Subitem</a></li>
</ul>
</li>
</ul>
JavaScript
(() => {
const itemMenu = $('.nav > li');
let close, flag;
itemMenu.on('mouseenter', function() {
if (flag === this) {
clearTimeout(close);
}
$(this).find('ul').stop().fadeIn();
});
itemMenu.on('mouseleave', function() {
close = setTimeout(() => {
$(this).find('ul').stop().fadeOut();
}, 300); //set delay 300 ms
flag = this;
});
})();
Los elementos del menú anidados deben ocultarse mediante CSS
CSS
.nav li ul {
display: none;
}
Puedes escribir otros estilos necesarios según tu diseño. Puedes ver un ejemplo de cómo se vería y funcionaría el menú en Codepen: https://codepen.io/igorrybalko/pen/XJrparJ
Publicaciones similares:
-
Convertir una imagen a Base64 mediante JavaScript
Convertir una imagen a una cadena Base64 en JavaScript puede ser extremadamente útil en muchos escenarios de desarrollo web modernos. Una de las razones más comunes para ...
-
Iterar elementos de una matriz sin bucles
Los ejemplos son muy abstractos debido a que hay ciclos. Nuestra condición será la siguiente: es necesario seleccionar todos los elementos del array mediante un atributo ...
-
Desplazamiento suave hacia el ancla mediante JavaScript
El desplazamiento suave es una característica popular del diseño web que mejora la experiencia del usuario al permitir una navegación fluida entre las secciones de una pá...
Leave a Reply