In questo articolo vi spiego come realizzare un menu verticale in jQuery che ci permette di avere un effetto di comparsa a tendina dei sottomenu. Lo script realizzato presenta una duplice versione di questo: il primo è un semplice menu, al secondo ho aggiunto invece l’effetto fisarmonica:
DEMO - Menu verticale in jQuery
La struttura HTML è molto semplice ed è basato su liste nidificate.
HTML
<div class="menu_box"><div class="menu_header"><label>Semplice</label></div><div class="menu"><ul class="title_ul"><li class="title"><ul><li class="submenu_title"><a href="#">Sub menu one</a></li><li class="sub"><ul><li><a href="#">Item one</a></li><li><a href="#">Item two</a></li><li><a href="#">Item three</a></li></ul></li></ul></li><li class="title"><ul><li class="submenu_title"><a href="#">Sub menu two</a></li><li class="sub"><ul><li><a href="#">Item one</a></li><li><a href="#">Item two</a></li></ul></li></ul></li>. . . .. . . .</ul></div></div>
CSS
Niente di particolare nel CSS, ho definito uno stile molto semplice e presentabile. L’unica istruzione da notare è la proprietà display della lista dei sottomenu che ho settato a none perché devono essere resi visibili dall’animazione jQuery solo al click su un item del menu.
.sub{display: none;}
jQUERY
Al click su un link del menu più esterno, quello principale per chiarirci, lo script esegue la funzione slideToggle sul rispettivo sottomenu: in questo modo questo comparirà o scomparirà a seconda che prima fosse visibile o nascosto.
Per applicare al menu l’effetto fisarmonica basta aggiungere la riga di codice che è nel commento dello script in modo tale da nascondere tutti i sottomenu eccetto quello che si sta per aprire. La funzione not ha proprio il compito di escludere un elemento dalla funzione a cui lo si collega.
$(document).ready(function(){$('.submenu_title a').click(function(ev){var sub = $(this).parent().next();// PER L’EFFETTO FISARMONICA BASTA AGGIUNGERE:// $('.sub').not(sub).slideUp();sub.stop(false,true).slideToggle();// impedisco allo script di seguire il linkev.preventDefault();});});
![Dota Reborn update: risolto grave driver Linux [Changelog]](https://m2.paperblog.com/i/289/2891848/dota-2-reborn-update-risolto-grave-bug-per-dr-L-AwIGUZ-175x130.jpeg)




