基于jquery实现三级下拉菜单

前端技术 2023/09/06 JavaScript

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

本文地址:https://www.stayed.cn/item/15004

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。