基于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中变量相关的细节分析
Aug 13 Javascript
EasyUI 中 MenuButton 的使用方法
Jul 14 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
Jan 15 Javascript
JS判断当前页面是否在微信浏览器打开的方法
Dec 08 Javascript
Angular2 路由问题修复详解
Mar 01 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
Dec 21 Javascript
官方推荐react-navigation的具体使用详解
May 08 Javascript
浅谈JS的原型和继承
May 08 Javascript
Vue 自定义指令实现一键 Copy功能
Sep 16 Javascript
vue el-table实现行内编辑功能
Dec 11 Javascript
JavaScript事件循环及宏任务微任务原理解析
Sep 02 Javascript
JavaScript实现鼠标移入随机变换颜色
Nov 24 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 session 错误
2009/05/21 PHP
php实现快速排序法函数代码
2012/08/27 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
析构函数与php的垃圾回收机制详解
2013/10/28 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
puppeteer实现html截图的示例代码
2019/01/10 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
python中Switch/Case实现的示例代码
2017/11/09 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
python批量下载抖音视频
2019/06/17 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
Python使用进程Process模块管理资源
2020/03/05 Python
基于Python测试程序是否有错误
2020/05/16 Python
应届生财务管理求职信
2013/11/06 职场文书
小学生家长评语大全
2014/02/10 职场文书
庆元旦迎新年广播稿
2014/02/18 职场文书
2015年银行员工工作总结
2015/04/24 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
python数字图像处理:图像简单滤波
2022/06/28 Python