【发布时间】:2015-09-08 02:02:35
【问题描述】:
我有一个下拉菜单,我想在单击菜单按钮时向下滑动,在再次单击时向上滑动。单击文档中的任何其他位置时也会向上滑动。
这是我目前得到的:jsfiddle
HTML:
<nav>
<a class="dropdown-toggle" href="#" title="Menu">Menu</a>
<ul class="dropdown">
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu</a></li>
<li><a href="#">Settings</a></li>
<li><a href="#">Search</a></li>
</ul>
</nav>
jquery:
$(function() {
// Dropdown toggle
$('.dropdown-toggle').click(function() {
$(this).next('.dropdown').toggle(function() {
$('.dropdown').stop().animate({
top: '100%'
}, 'slow');
});
});
$(document).click(function(e) {
var target = e.target;
if (!$(target).is('.dropdown-toggle') && !$(target).parents().is('.dropdown-toggle')) {
$('.dropdown').toggle(function() {
$('.dropdown').stop().animate({
top: '-100px'
}, 'slow');
});
}
});
});
我所做的问题是动画只发生一次,并且仅在单击打开下拉菜单时发生。
【问题讨论】:
标签: javascript jquery drop-down-menu jquery-animate slidedown