基于jquery实现三级下拉菜单


Posted in Javascript onMay 10, 2016

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

Javascript 相关文章推荐
js判断变量是否空值的代码
Oct 26 Javascript
在javascript将NodeList作为Array数组处理的方法
Jul 09 Javascript
关于jQuery中的end()使用方法
Jul 10 Javascript
JS替换文本域内的回车示例
Feb 18 Javascript
jQuery实现自定义下拉列表
Jan 05 Javascript
究竟什么是Node.js?Node.js有什么好处?
May 29 Javascript
express文件上传中间件Multer详解
Oct 24 Javascript
简单实现js拖拽效果
Jul 25 Javascript
javascript+css3开发打气球小游戏完整代码
Nov 28 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
Aug 13 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
Aug 08 Javascript
vue实现信息管理系统
May 30 Javascript
jQuery Dialog对话框事件用法实例分析
May 10 #Javascript
bootstrap网页框架的使用方法
May 10 #Javascript
浅析Bootstrip的select控件绑定数据的问题
May 10 #Javascript
jQuery的文档处理程序详解
May 10 #Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
May 10 #Javascript
jQuery对象与DOM对象转换方法详解
May 10 #Javascript
jQuery对象的链式操作用法分析
May 10 #Javascript
You might like
PHP 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
php 常用类整理
2009/12/23 PHP
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
2020/09/21 Javascript
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
[45:38]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第一局
2016/03/02 DOTA
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python中OrderedDict的使用方法详解
2017/05/05 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
python+opencv识别图片中的圆形
2020/03/25 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
简单了解python变量的作用域
2019/07/30 Python
python在不同条件下的输入与输出
2020/02/13 Python
Python批量启动多线程代码实例
2020/02/18 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
python virtualenv虚拟环境配置与使用教程详解
2020/07/13 Python
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
科研先进个人典型材料
2014/01/31 职场文书
森林防火工作方案
2014/02/14 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
英文演讲稿
2014/05/15 职场文书
建筑安全生产责任书
2014/07/22 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书
Python Django模型详解
2021/10/05 Python