Menú drop down (jQuery)
Last updated: 10.10.2025
Views: 187
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:
-
Trabajar con cookies en JavaScript
Сookie (cookie web o cookie del navegador) es una cadena de información que puede almacenarse en un navegador y enviarse al servidor. El tamaño máximo para una cookie es...
-
Cómo obtener el valor máximo en JavaScript array
Una breve nota sobre cómo encontrar el valor máximo en una matriz de JavaScript con valores numéricos. El objeto Array en JS no tiene su propio método max. Para encont...
-
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