需要通过jquery显示无序列表的父项和兄弟项目

问题描述:

我已经在我们的网站上获得了此导航菜单,这里已经有来自社区的一些很好的帮助。但我需要更多一点。需要通过jquery显示无序列表的父项和兄弟项目

现在,如果有人点击位于顶部的店铺链接,就会出现珠宝和定制的子元素。

但是,如果我们点击了3个级别的项链,我们就会让整个菜单消失。

我试过了很多不同的方法来获得第三个元素,以保持其父母和祖父母留在屏幕上,但没有运气。

什么即时通讯的想法是一个jquery函数,获取父母和祖父母的索引,如果被点击的项目是第三或第二项下来。通过这种方式,这种级别的导航保持对用户可见。

<script> 
$("#navigation ul li ul").hide(); 
$(".is-current").parent().parent().parent().siblings().show(); 
</script> 

我们已经是电流确定在第三级的项目,但是如果用户点击3日,我们将要显示的父项和所有子项和他们的兄弟姐妹,使菜单出现缩进和可见级别的项目。我已经通过js小提琴尝试了上面的jquery代码......但由于我相对jquery缺乏经验......我正在努力研究这是如何实现的。任何建议不胜感激

<div id="navigation"> 
    <ul id="jsddm" class="dbtree"> 
    <li id="SHOP"> <a href="...">SHOP</a> 
     <ul> 
     <li id="JEWELLERY"> <a href="...">JEWELLERY</a> 
      <ul> 
      <li id="NECKLACES" class="is-current"><a href="...">NECKLACES</a></li> 
      </ul> 
      <ul> 
      <li id="RINGS"><a href="...">RINGS</a></li> 
      </ul> 
      <ul> 
      <li id="EARRINGS"><a href="...">EARRINGS</a></li> 
      </ul> 
      <ul> 
      <li id="FRIENDSHIP BRACELETS"><a href="...">FRIENDSHIP BRACELETS</a></li> 
      </ul> 
      <ul> 
      <li id="CHARM BRACELETS"><a href="...">CHARM BRACELETS</a></li> 
      </ul> 
     </li> 
     </ul> 
     <ul> 
     <li id="BESPOKE"><a href="...">BESPOKE</a> 
      <ul> 
      <li id="MAKE YOUR BESPOKE "><a href="...">MAKE YOUR BESPOKE</a></li> 
      </ul> 
      <ul> 
      <li id="CHAINS"><a href="...">CHAINS</a></li> 
      </ul> 
      <ul> 
      <li id="LETTERS"><a href="...">LETTERS</a></li> 
      </ul> 
      <ul> 
      <li id="CRYSTALS"><a href="...">CRYSTALS</a></li> 
      </ul> 
      <ul> 
      <li id="GEMSTONES"><a href="...">GEMSTONES</a></li> 
      </ul> 
      <ul> 
      <li id="CHARMS"><a href="...">CHARMS</a></li> 
      </ul> 
      <ul> 
      <li id="COLOURED CORD"><a href="...">COLOURED CORD</a></li> 
      </ul> 
     </li> 
     </ul> 
     <ul> 
     <li id="KA FINES (coming soon)"><a href="...">KA FINES (coming soon)</a></li> 
     </ul> 
     <ul> 
     <li id="GIFT VOUCHER"><a href="...">GIFT VOUCHER</a></li> 
     </ul> 
     <ul> 
     <li id="MY DETAILS"><a href="...">MY DETAILS</a></li> 
     </ul> 
     <ul> 
     <li id="MY HISTORY"><a href="...">MY HISTORY</a></li> 
     </ul> 
     <ul> 
     <li id="LOGOUT"><a href="...">LOGOUT</a></li> 
     </ul> 
    </li> 
    </ul> 
    <ul> 
    <li id="BESPOKE"> <a href="...">BESPOKE</a> 
     <ul> 
     <li id="ABOUT"><a href="...">ABOUT</a></li> 
     </ul> 
     <ul> 
     <li id="LOOKBOOK "><a href="...">LOOKBOOK</a></li> 
     </ul> 
     <ul> 
     <li id="MAKE YOUR BESPOKE"><a href="...">MAKE YOUR BESPOKE</a></li> 
     </ul> 
    </li> 
    </ul> 
    <ul> 
    <li id="LOOKBOOK "><a href="...">LOOKBOOK</a> 
     <ul> 
     <li id="BESPOKE LOOKBOOK"><a href="...">BESPOKE LOOKBOOK</a></li> 
     </ul> 
     <ul> 
     <li id="SOMETHING LIKE PARADISE"><a href="...">SOMETHING LIKE PARADISE</a></li> 
     </ul> 
    </li> 
    </ul> 
    <ul> 
    <li id="OUR STORY"><a href="...">OUR STORY</a></li> 
    </ul> 
    <ul> 
    <li id="PRESS"><a href="...">PRESS</a></li> 
    </ul> 
    <ul> 
    <li id="BLOG"><a href="...">BLOG</a></li> 
    </ul> 
</div> 

这是你在找什么? http://jsfiddle.net/D3fbC/

的javascript:

$(function(){ 
    $('#navigation').find('a').click(function(e){ 
     e.preventDefault(); 
     $(this).parent('li').find('li').toggle(); 
    }); 
}); 
+0

这就是真的很酷,非常接近什么即时通讯之后。但想象一下这种情况。当页面加载所有子菜单时都是隐藏的,但如果用户选择了第三层次的项目,那么它和它的父项是可见的,而其他项目是折叠的。这就是为什么我们要加入“is-current”类,以便我们能够正确识别它。 – user125264 2013-03-25 03:48:27

+0

是什么样的? http://jsfiddle.net/D3fbC/1/ – 2013-03-25 18:11:37