基于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 相关文章推荐
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
Nov 30 Javascript
jQuery 学习第五课 Ajax 使用说明
May 17 Javascript
javascript与webservice的通信实现代码
Dec 25 Javascript
JavaScript创建类/对象的几种方式概述及实例
May 06 Javascript
再谈javascript原型继承
Nov 10 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
Dec 16 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
Aug 30 Javascript
node爬取新型冠状病毒的疫情实时动态
Feb 06 Javascript
JS Array.from()将伪数组转换成数组的方法示例
Mar 23 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
Jun 05 Javascript
javascript+css实现俄罗斯方块小游戏
Jun 28 Javascript
详解微信小程序轨迹回放实现及遇到的坑
Feb 02 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
Linux编译升级php的详细方法
2013/11/04 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
jQuery+ajax实现动态执行脚本的方法
2015/01/27 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
django批量导入xml数据
2016/10/16 Python
python编程羊车门问题代码示例
2017/10/25 Python
详解python分布式进程
2018/10/08 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
python3实现弹弹球小游戏
2019/11/25 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
python 如何设置守护进程
2020/10/29 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
土木工程应届生自荐信
2013/09/24 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
先进学校事迹材料
2014/12/30 职场文书
感谢信模板大全
2015/01/23 职场文书
责任书格式
2015/01/29 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书