基于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 相关文章推荐
Textarea与懒惰渲染实现代码
Jan 04 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
Feb 07 Javascript
常用的Javascript设计模式小结
Dec 09 Javascript
AngularJS模块学习之Anchor Scroll
Jan 19 Javascript
javascript 用函数实现继承详解
May 28 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
Dec 05 Javascript
基于bootstrap实现收缩导航条
Mar 17 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
May 05 jQuery
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
May 20 jQuery
微信小程序 五星评分的实现实例
Aug 04 Javascript
探索webpack模块及webpack3新特性
Sep 18 Javascript
Vue中使用vux配置代码详解
Sep 16 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
我常用的几个类
2006/10/09 PHP
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
php实现下载限制速度示例分享
2014/02/13 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
jQuery中:gt选择器用法实例
2014/12/29 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
2016/02/25 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
JQuery控制图片由中心点逐渐放大效果
2016/06/26 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
Python和php通信乱码问题解决方法
2014/04/15 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
Python格式化日期时间操作示例
2018/06/28 Python
Python面向对象程序设计示例小结
2019/01/30 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
详解Python中的分支和循环结构
2020/02/11 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
推荐10个CSS3 制作的创意下拉菜单效果
2014/02/11 HTML / CSS
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
大学生标准自荐书
2014/06/15 职场文书
大学文艺委员竞选稿
2015/11/19 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python