2012-06-12 8 views
0

У меня есть простое выпадающее меню, которое прекрасно работает, но есть ли способ, чтобы, щелкнув где-нибудь, но ul, он снова переключит его?Выпадающее меню Toggle Закрыть

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

в любом месте, в любой части тела? –

+0

Я думаю, что ответ Джереми здесь может помочь вам: http://stackoverflow.com/questions/714471/jquery-hide-element-when-clicked-anywhere-on-the-page – KrispyDonuts

ответ

0

Я бы переключил toggle на toggleClass и добавил активный или открытый класс в ваш css. Вы также можете использовать анимацию, если используете пользовательский интерфейс JQuery. например

.menu { 
display:none; 
} 

.menu.active { 
display:block; 
} 

затем

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

$('body').click(function(e) { 
    $('.menu').removeClass("active"); 
}); 
Смежные вопросы