jQuery点击功能ul菜单排除第一个ul

时间:2013-04-07 12:45:09

标签: jquery

我有人为我写这个并且去了MIA并且无法弄清楚如何自己调整它。我是jQuery的新手。这是使用<ul>进行可扩展的侧边栏导航,目前整个内容可以通过点击进行扩展和收缩。

我试图将第一个标题1 <ul>永久“展开”以显示链接1和链接2,但保持jQuery在标题2上工作(以及3,4,5等等)。

如何永久保持第一个<ul>开放?非常感谢帮助!

<div class="sidebar">
<nav>
<span class="heading">Title 1</span>
<ul>
<li><a href="/firstlink">Link 1</a></li>
<li><a href="/firstlink">Link 2</a></li>
</ul>
</nav>

<nav>
<span class="heading">Title 2</span>
<ul>
<li><a href="/firstlink">Link 1</a></li>
<li><a href="/firstlink">Link 2</a></li>
</ul>
</nav>
</div>

这是使它扩展和收缩的jQuery位:

jQuery(window).load(function(){
jQuery('#body .sidebar nav').click(function(){
    var the_ul = jQuery('> ul', this);
    if(the_ul){
        if (the_ul.css('display') == 'none') {
            jQuery(the_ul).slideDown('500');
        } else {
            jQuery(the_ul).slideUp('500');
        }
    };
});  
});

这就是CSS:

.sidebar nav ul {display:none;} 

2 个答案:

答案 0 :(得分:1)

我认为这就是你想要的:

$('.sidebar nav ul:eq(0)').show();

$('.sidebar nav').click(function(){
    var the_ul = $(this).find("ul");

    if(the_ul){
        if (the_ul.css('display') == 'none') {
            the_ul.slideDown('500');
        } else {
            the_ul.slideUp('500');
        }
    };
});  

Working Demo

答案 1 :(得分:0)

试试这个(http://jsfiddle.net/v7JhL/1/)并删除CSS:

jQuery('#body .sidebar nav:gt(0)').click(function(){
    var the_ul = jQuery('> ul', this);
    if(the_ul){
        if (the_ul.css('display') == 'none') {
            jQuery(the_ul).slideDown('500');
        } else {
            jQuery(the_ul).slideUp('500');
        }
    };
});
jQuery('.sidebar nav > ul:gt(0)').hide()