2012-02-21 93 views
0

有谁知道我现在可以如何扩展功能,以便当一个导航打开时,当用户单击以打开其他导航,目前打开的导航崩溃?导航关闭onClick另一个列表项目

请找到下面的代码;

http://jsfiddle.net/N7xgC/

+0

您可以直接使用选择将事件处理程序附加到多个元素,你不” t需要使用'.each()'函数,然后单独附加它们。 – 2012-02-21 13:13:57

+0

任何机会,你可以编辑我的小提琴请用正确的代码,新手jquery – 2012-02-21 13:14:52

+0

忘了提到这一点,但你应该真的包括相关代码的问题,除了提供一个jsFiddle,以便它继续有用,即使小提琴不可用。 – 2012-02-21 13:30:45

回答

0

你当前做的是切换与sub类的所有元素的显示,因此点击任何链接,将显示所有的子菜单。相反,您希望隐藏类别sub中不属于被点击链接的同级的所有元素,然后仅切换类别为sub的元素,即为点击该链接的同级。

$(document).ready(function() { 
    $('.main > li > a').click(function() { 
     var sibling = $(this).siblings('.sub'); // select the <ul> to exclude 
     $('.sub').not(sibling).hide(); // hide everything except that element 
     sibling.toggle(); // toggle that element 
    }); 
}); 

Updated jsFiddle

+0

你这个人安东尼......谢谢你的描述:) – 2012-02-21 13:28:59

0

更新您的jsfiddle http://jsfiddle.net/N7xgC/6/

$(document).ready(function() 
{ 
    $('.main > li > a').click(function(event) 
    { 
     $('.main > li > ul').hide(); 
     $(this).next().show(); 
    }); 
}); 
+0

当连续两次点击相同的链接时,会失去切换功能。 – 2012-02-21 13:24:27

+0

干杯家伙......做到了这一点 – 2012-02-21 13:26:03

+0

这是没有在问题中指定:) – bang 2012-02-21 13:30:23

相关问题