多级手风琴就像导航菜单一样

Unk*_*ser 0 javascript css jquery jquery-ui css3

尝试使用导航菜单创建多级手风琴jquery.我从帖子中得到了这个,但我能够做到但是挑战是sub-sub-items点击它时没有显示.

小提琴

HTML:

<div class="sidebar">
    <ul>
        <li>
            <a href="javascript:void(0)">Item 1</a>
            <ul class="sub-menu">
                <li>
                    <a href="javascript:void(0)">Sub Item 1</a>
                </li>
                <li>
                    <a href="javascript:void(0)">Sub Item 2</a>
                </li>
                <li>
                    <a href="javascript:void(0)">Sub Item 3</a>
                </li>
                <li>
                    <a href="javascript:void(0)">Sub Item 4</a>
                </li>
            </ul>
        </li>
        <li>
            <a href="javascript:viod(0)">Item 2</a>
            <ul class="sub-menu">
                <li>
                    <a href="javascript:void(0)">Sub Item 1</a>
                    <ul class="sub-sub-menu">
                        <li>
                            <a href="javascript:void(0)">Sub Sub Item 1</a>
                        </li>
                        <li>
                            <a href="javascript:void(0)">Sub Sub Item 2</a>
                        </li>
                        <li>
                            <a href="javascript:void(0)">Sub Sub Item 3</a>
                        </li>
                        <li>
                            <a href="javascript:void(0)">Sub Sub Item 4</a>
                        </li>
                    </ul>
                </li>
                <li>
                    <a href="javascript:void(0)">Sub Item 2</a>
                </li>
                <li>
                    <a href="javascript:void(0)">Sub Item 3</a>
                </li>
            </ul>
        </li>
        <li>
            <a href="javascript:viod(0)">Item 3</a>
        </li>
        <li>
            <a href="javascript:viod(0)">Item 4</a>
        </li>
        <li>
            <a href="javascript:viod(0)">Item 5</a>
        </li>
    </ul>  
</div>
Run Code Online (Sandbox Code Playgroud)

JS:

$('.sidebar > ul > li > a').click(function(ev) {
    $('.sidebar .sub-menu, .sub-menu .sub-sub-menu').stop().slideUp();
    $(this).next('.sub-menu').stop().slideToggle();
    ev.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题.

zam*_*uts 5

您的选择器有点过于具体,与html中的类相同.

无需使用sub-sub-menu,只需保留所有子菜单sub-menu,无论它们是多么嵌套.

另外,放松选择器,不要使用子选择器>.

更新小提琴:http://jsfiddle.net/66kJs/4/(点击第2项,然后是第1项)

更新:忘了手风琴的影响!做了修复更新:删除stop()- 如果在动画期间进行交互,它将留下先前元素状态的工件