基于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 相关文章推荐
JavaScript箭头函数_动力节点Java学院整理
Jun 28 Javascript
vue实现留言板todolist功能
Aug 16 Javascript
vue服务端渲染的实例代码
Aug 28 Javascript
react-native 完整实现登录功能的示例代码
Sep 11 Javascript
Angular事件之不同组件间传递数据的方法
Nov 15 Javascript
微信小程序实现随机验证码功能
Dec 20 Javascript
浅谈js闭包理解
Apr 01 Javascript
详解在React-Native中持久化redux数据
May 22 Javascript
websocket4.0+typescript 实现热更新的方法
Aug 14 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
Oct 16 Javascript
Vue实现导航栏菜单
Aug 19 Javascript
使用jquery实现轮播图效果
Jan 02 jQuery
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下关于中英数字混排的字符串分割问题
2010/04/06 PHP
php对称加密算法示例
2014/05/07 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
一个css与js结合的下拉菜单支持主流浏览器
2014/10/08 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
canvas的神奇用法
2017/02/03 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
详解vue项目中实现图片裁剪功能
2019/06/07 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
Python实现二叉搜索树
2016/02/03 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
python实现flappy bird游戏
2018/12/24 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
Python pandas如何向excel添加数据
2020/05/22 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
销售自我评价
2013/10/22 职场文书
大学生涯自我鉴定
2014/01/16 职场文书
实习推荐信
2014/05/10 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
《家庭教育》读后感3篇
2019/12/18 职场文书
MySQL Server层四个日志的实现
2022/03/31 MySQL
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL
PHP RabbitMQ消息列队
2022/05/11 PHP