基于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实现网页右侧随动广告特效
Jan 17 Javascript
AngularJS控制器之间的数据共享及通信详解
Aug 01 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
Apr 25 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
May 20 Javascript
基于express中路由规则及获取请求参数的方法
Mar 12 Javascript
Angular网络请求的封装方法
May 22 Javascript
JS加密插件CryptoJS实现AES加密操作示例
Aug 16 Javascript
JS实现数组的增删改查操作示例
Aug 29 Javascript
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
jquery ui 实现 tab标签功能示例【测试可用】
Jul 25 jQuery
vue实现移动端返回顶部
Oct 12 Javascript
js回到页面指定位置的三种方式
Dec 17 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图片验证码代码
2008/03/27 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
2012/02/10 Javascript
JavaScript学习笔记之基础语法
2015/01/22 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
2016/07/06 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
vue-router 学习快速入门
2017/03/01 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
详解Angular的8个主要构造块
2017/06/20 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
2019/03/19 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
Django框架模板文件使用及模板文件加载顺序分析
2019/05/23 Python
Python中Unittest框架的具体使用
2019/08/27 Python
python global和nonlocal用法解析
2020/02/03 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
python logging模块的使用
2020/09/07 Python
Python return语句如何实现结果返回调用
2020/10/15 Python
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
职专应届生求职信
2013/11/16 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
食品安全工作方案
2014/05/07 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书