jQuery - 只显示当前的ul

时间:2011-08-24 08:25:28

标签: javascript jquery toggle html-lists children

我是jQuery的新手,并且在以下导航中遇到了一些问题:

http://jsfiddle.net/6Dh8j/7/

基本上,我喜欢这个可爱网站的创意制作部分的导航:http://www.gainsburyandwhiting.com>见组合>时装秀等...

我需要隐藏当前的ul并在其位置显示一个新的。目前,它们会显示,直到我取消单击父级。

有什么想法吗?

谢谢, 红色

1 个答案:

答案 0 :(得分:1)

您需要隐藏当前ul兄弟姐妹后代的所有ul元素,例如

$(this).siblings().find('ul').fadeOut('fast');

这会找到所点击的ul的所有兄弟(在示例中都是ul)并查找所有带有边界的ul元素并将其淡出。< / p>

在您的代码中:

$("nav ul li").find("ul").hide().end()
  .click(function(e) {
     if (this == e.target) {
       $(this).siblings().find('ul').fadeOut('fast');
       $(this).children('ul').fadeToggle('fast');    
     }
});