需要通过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();
});
});
这就是真的很酷,非常接近什么即时通讯之后。但想象一下这种情况。当页面加载所有子菜单时都是隐藏的,但如果用户选择了第三层次的项目,那么它和它的父项是可见的,而其他项目是折叠的。这就是为什么我们要加入“is-current”类,以便我们能够正确识别它。 – user125264 2013-03-25 03:48:27
是什么样的? http://jsfiddle.net/D3fbC/1/ – 2013-03-25 18:11:37