jQuery 三级菜单

在写这个的时候,首先要捋顺思路。点一个菜单的时候,其他的要闭合,点一级菜单的时候,二三级菜单要闭合,等等。
大致代码如下:

<body>
    <aside>
        <ul class="one">
            <li> <a href="#" class="a">目录Aa>
                <ul class="two" style="display: none">
                    <li><a href="#" class="a">二级目录Aa>
                        <ul class="three" style="display: none">
                            <li><a href="#">三级目录Aa>li>
                        ul>
                    li>
                    <li><a href="#" class="a">二级目录Ba>li>
                    <li><a href="#" class="a">二级目录Ca>li>
                ul>
            li>
            <li> <a href="#" class="a">目录Ba>
                <ul class="two" style="display: none">
                    <li><a href="#" class="a">二级目录Aa>
                        <ul class="three" style="display: none">
                            <li><a href="#">三级目录Aa>li>
                        ul>
                    li>
                    <li><a href="#" class="a">二级目录Ba>li>
                    <li><a href="#" class="a">二级目录Ca>li>
                ul>
            li>
            <li> <a href="#" class="a">目录Ca> li>
        ul>
    aside>

//jQuery部分
<script src="js/jquery-1.8.3.min.js">script>
<script>
        $(document).ready(function() {
            $('.a').click(function() {
                if ($(this).siblings('ul').css('display') == 'none') {
                    $(this).siblings('ul').slideDown(100).children('li');
                    if ($(this).parents('li').siblings('li').children('ul').css('display') == 'block') {
                        $(this).parents('li').siblings('li').children('ul').slideUp(100);

                    }
                } else {
                    //控制自身菜单下子菜单隐藏
                    $(this).siblings('ul').slideUp(100);
                    //控制自身菜单下子菜单隐藏
                    $(this).siblings('ul').children('li').children('ul').slideUp(100);
                }
            });
    });
script>
body>

如果要添加样式的话,一定要注意,否则菜单可能会出现错误。
完整代码地址:https://github.com/SabrinaTian/ThreeMenuNav.git
git里还有一个带有图标的案例,不点击的话是+号,菜单打开后,变为-号。

你可能感兴趣的:(jQuery)