jQuery 三級菜單

在寫這個的時候,首先要捋順思路。點一個菜單的時候,其他的要閉合,點一級菜單的時候,二三級菜單要閉合,等等。
大致代碼如下:

<body>
    <aside>
        <ul class="one">
            <li> <a href="#" class="a">目錄A</a>
                <ul class="two" style="display: none">
                    <li><a href="#" class="a">二級目錄A</a>
                        <ul class="three" style="display: none">
                            <li><a href="#">三級目錄A</a></li>
                        </ul>
                    </li>
                    <li><a href="#" class="a">二級目錄B</a></li>
                    <li><a href="#" class="a">二級目錄C</a></li>
                </ul>
            </li>
            <li> <a href="#" class="a">目錄B</a>
                <ul class="two" style="display: none">
                    <li><a href="#" class="a">二級目錄A</a>
                        <ul class="three" style="display: none">
                            <li><a href="#">三級目錄A</a></li>
                        </ul>
                    </li>
                    <li><a href="#" class="a">二級目錄B</a></li>
                    <li><a href="#" class="a">二級目錄C</a></li>
                </ul>
            </li>
            <li> <a href="#" class="a">目錄C</a> </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裏還有一個帶有圖標的案例,不點擊的話是+號,菜單打開後,變爲-號。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章