1
我正在使用以下内容作为下拉菜单。它工作得很好,但是,我无法弄清楚如果在单击正文中的某个位置或单击另一个下拉列表时如何获得打开的下拉菜单。单击相邻时关闭下拉菜单
$(document).ready(function() {
$('.nav li').click(function() {
var slideToggle = this;
if ($('ul', this).is(':visible')) {
$('ul', this).slideUp(function() {
$(slideToggle).removeClass('active');
});
}
else {
$('ul', this).slideDown();
$(slideToggle).addClass('active');
}
});
});
查看它的行动在这里:http://jsfiddle.net/Ngh5C/1/
什么会去什么我问过的最简单的方法是什么?
在发布jsfiddle之前,我想出了几乎完全相同的东西。用不同的方式,但你的线条更少,效率更高。现在的一个问题是,在.slideUp()不会删除活动类之后,添加.removeClass('active')。 –
没关系,我是从孩子ul中删除活动类,而不是活动最初分配给其的父li。 如果点击相邻的菜单,你能帮助我关闭一个打开的菜单吗? –
@AjTroxell:我改变了小提琴一次只打开一个菜单。我想这就是你想要的。如果你真的只想限制相邻的菜单,只需稍微调整一下选择器即可。 –