基于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 相关文章推荐
Jquery跨域获得Json时invalid label错误的解决办法
Jan 11 Javascript
script标签属性type与language使用选择
Dec 02 Javascript
Jquery 切换不同图片示例代码
Dec 05 Javascript
jQuery表单美化插件jqTransform使用详解
Apr 12 Javascript
javascript拖拽效果延伸学习
Apr 04 Javascript
JS 获取HTML标签内的子节点的方法
Sep 21 Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
Jul 19 Javascript
小程序getLocation需要在app.json中声明permission字段
Apr 04 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 Javascript
如何在postman中添加cookie信息步骤解析
Jun 30 Javascript
vue 中使用print.js导出pdf操作
Nov 13 Javascript
详解Vue router路由
Nov 20 Vue.js
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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
PHP操作XML作为数据库的类
2010/12/19 PHP
一致性哈希算法以及其PHP实现详细解析
2013/08/24 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
Javascript表达式中连续的 &amp;&amp; 和 || 之赋值区别
2010/10/17 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
Jquery 在页面加载后执行的几种方式
2014/03/14 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
python学习之编写查询ip程序
2016/02/27 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
Python lxml模块的基本使用方法分析
2019/12/21 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
银行会计职员个人的自我评价
2013/09/29 职场文书
计算机专业自我鉴定
2013/10/15 职场文书
小学生评语集锦
2014/04/18 职场文书
母亲节演讲稿
2014/05/27 职场文书
英文慰问信
2015/02/14 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL
Python之基础函数案例详解
2021/08/30 Python