【发布时间】:2013-10-08 15:02:14
【问题描述】:
多年来,我一直试图弄清楚这一点。基本上我有一个菜单,当用户点击一个箭头时,它会滑动切换下面的下拉菜单。
我希望它做很多事情。
1) 当用户点击箭头下拉菜单并向下滑动时,我希望他们能够再次点击箭头并让下拉菜单向上滑动。
2) 如果用户点击不同的箭头下拉菜单,我希望第一个下拉菜单消失,然后出现新的下拉菜单。
这是我目前所拥有的。除了第 2 点之外,它还在工作。
$('nav li i').click(function() {
$('nav li i.open').find('.dropdown').not($(this)).slideToggle(300);
$('nav li').find('.open').not($(this)).removeClass('open');
$(this).toggleClass('open');
$(this).parent('nav li').find('.dropdown').slideToggle(300);
});
你可以在这里看到一个 jsfiddle,希望能更好地展示它(红色框是可点击区域):
编辑: 我已经设法使第二点起作用(如果用户单击另一个下拉菜单,则第一个下拉菜单会消失)-但是它会破坏第一点。
$('nav li i').click(function() {
$('nav li.open').not($(this)).find('.dropdown').hide();
$('nav').find('.open').not($(this)).removeClass('open');
$(this).parent('nav li').toggleClass('open');
$(this).parent('nav li').find('.dropdown').slideToggle(300);
});
【问题讨论】:
标签: jquery drop-down-menu navigation toggle