基于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 相关文章推荐
需要做特殊处理的DOM元素属性的访问
Nov 05 Javascript
探究Javascript模板引擎mustache.js使用方法
Jan 26 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
Apr 18 Javascript
js数组去重的hash方法
Dec 22 Javascript
vuejs实现本地数据的筛选分页功能思路详解
Nov 15 Javascript
vue2.0模拟锚点的实例
Mar 14 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
Oct 02 Javascript
element el-input directive数字进行控制
Oct 11 Javascript
uni-app使用微信小程序云函数的步骤示例
May 22 Javascript
解决vue项目 build之后资源文件找不到的问题
Sep 12 Javascript
如何利用node转发请求详解
Sep 17 Javascript
比较node.js和Deno
Apr 27 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的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
php cookie用户登录的详解及实例代码
2017/01/03 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
js实现分割上传大文件
2016/03/09 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
Vue.js实现模拟微信朋友圈开发demo
2017/04/20 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
python实现文件名批量替换和内容替换
2014/03/20 Python
Python上下文管理器和with块详解
2017/09/09 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
2018/12/05 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
干部培训自我鉴定
2014/01/22 职场文书
学生会离职感言
2014/02/11 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
优秀大学生求职自荐信范文
2014/04/19 职场文书
试用期自我评价范文
2015/03/10 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技