Menú drop down (jQuery)
Last updated: 10.10.2025
Views: 104
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 ...
-
Formas de crear objetos en JavaScript
Hay varias formas de crear objetos en JavaScript. El tipo de datos Object desempeña un papel fundamental en JS. Un objeto es un conjunto desordenado de pares clave-valor....
-
Cómo enviar un formulario usando jQuery Ajax ($.ajax)
Enviar un formulario mediante el método $.ajax de jQuery es una forma eficaz de enviar datos al servidor sin recargar la página. Este enfoque mejora la experiencia del us...
Leave a Reply