2012-06-12 27 views
0

J'ai un menu déroulant simple qui fonctionne bien, mais est-il possible de faire en sorte que si vous cliquez n'importe où mais que vous le fermiez à nouveau, il se referme?Menu déroulant Basculer Fermer

Jquery

$('.header').click(function() { 
    $('.menu').toggle(); 
}); 

HTML

<a class="header" href="#">All</a> 
<ul class="menu"> 
    <li>All</li> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
    <li>4</li> 
</ul> 
+0

partout comme partout dans le corps? –

+0

Je pense que la réponse de Jeremey ici pourrait vous aider: http://stackoverflow.com/questions/714471/jquery-hide-element-when-clicked-anywhere-on-the-page – KrispyDonuts

Répondre

0

Je changerais pour toggleClass et ajouterais une classe active ou ouverte dans votre css. Vous pouvez également utiliser une animation si vous utilisez l'interface utilisateur JQuery. par exemple.

.menu { 
display:none; 
} 

.menu.active { 
display:block; 
} 

puis

$('.header').click(function(e) { 
    $('.menu').toggleClass("active", 1000); 
}); 

$('body').click(function(e) { 
    $('.menu').removeClass("active"); 
});