Jquery手风琴菜单(3级)怎么样?

时间:2014-08-28 12:33:19

标签: javascript jquery css3 menu accordion

我有这个jquery代码:

$(document).ready(function(){
$("#accordion2 h3").click(function(){
    //slide up all the link lists
    $("#accordion2 ul ul").slideUp();
    //slide down the link list below the h3 clicked - only if its closed
    if(!$(this).next().is(":visible"))
    {
        $(this).next().slideDown();
    }
})
})

和HTML:

<div id="accordion2">
<ul>
    <li>
        <h3>Articles</h3>
        <ul>
            <li><a href="#">Nature</a>
            <ul>
              <li>Wild life</li>
              <li>Flowers</li>
              <li>Animals</li>
            </ul>
            </li>
            <li><a href="#">Earth</a></li>
            <li><a href="#">Space</a></li>
            <li><a href="#">Ocean</a></li>
            <li><a href="#">Land</a></li>
        </ul>
    </li>
</ul>
</div>

如何修改jQuery代码,以便用户可以滑动&#34; Nature&#34;及其内容? 3个三级菜单。

2 个答案:

答案 0 :(得分:1)

我猜这是你的追求?如果没有,那么请澄清你的问题。

$(document).ready(function(){
    $("#accordion2 h3").click(function(){
        $(this).next().slideToggle();
    })
     $("#accordion2 ul ul li a").click(function(){
        $(this).next().slideToggle();
    })
})

Working demo

答案 1 :(得分:0)

多级手风琴:JSFiddle

<强> HTML

<ul id="menu" class="menu">
<li><a href="#">Sub item A</a>
    <ul class="sub-menu">
        <li><a href="#">Sub Sub item A</a>
            <ul class="sub-menu">
                <li><a href="#">sub sub sub item a</a>
                <ul class="sub-menu">
            <li>sub sub sub sub item a</li>
            <li>sub sub sub sub item b</li>
                    </ul>
                </li>
            <li>sub sub sub item b</li>
            <li>sub sub sub item c</li>
            </ul></li>


        <li>sub sub item b</li>
        <li>sub sub item c</li>
    </ul>
</li>

<li><a href="#">Sub item b</a>
        <ul class="sub-menu">
        <li>sub sub item e</li>
        <li>sub sub item f</li>
        <li>sub sub item g</li>
</ul>
</li>
</ul>

<强>的JavaScript

function initMenu() {
    $(".sub-menu").hide();
    $(".current_page_item .sub-menu").show();
    $('#menu li a').click(

    function() {
        var checkElement = $(this).next();
        if ((checkElement.is('ul')) && (checkElement.is(':visible'))) {
            return false;
        }
        if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
            console.log(checkElement.parentsUntil('#menu'));
            $('#menu ul:visible').not(checkElement.parentsUntil('#menu')).slideUp('normal');
            checkElement.slideDown('normal');
            return false;
        }
    });
}
$(function() {
    initMenu();
});