首页 > 编程 > JavaScript > 正文

基于jquery实现三级下拉菜单

2019-11-20 10:07:10
字体:
来源:转载
供稿:网友

本文实例为大家分享了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里还有一个带有图标的案例,不点击的话是+号,菜单打开后,变为-号。
以上就是本文的全部内容,希望对大家的学习有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表