基于jQuery实现以手风琴方式展开和折叠导航菜单


Posted in Javascript onJanuary 28, 2016

本章节分享一段代码实例,它实现了手风琴方式展开和折叠导航菜单效果。

代码实例如下:

代码实例如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312">
<meta name="author" content="https://3water.com/" />
<title>三水点靠木</title>
<style>
dl{width:150px;}
dl,dd{margin:0;}
dt{
 background:gray;
 font-size:14px;
 padding:2px;
 margin:2px;
}
dt{color:#FFF;}
dd a{
 color:#000;
 font-size:12px;
}
ul{
 list-style:none;
 padding:2px;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script>
$(document).ready(function(){
 $("dd:not(:first)").hide();
 $("dt a").click(function(){
  $("dd:visible").slideUp("slow");
  $(this).parent().next().slideDown("slow");
  return false;
 });
});
</script>
</head>
<body>
<dl>
 <dt><a href="#">三水点靠木一</a></dt>
 <dd>
  <ul>
   <li><a href="#">div教程</a></li>
   <li><a href="#">css教程</a></li>
   <li><a href="#">jquery教程</a></li>
  </ul>
 </dd>
 <dt><a href="#">三水点靠木二</a></dt>
 <dd>
  <ul>
   <li><a href="#">正则教程</a></li>
   <li><a href="#">三水点靠木</a></li>
  </ul>
 </dd>
 <dt><a href="#">三水点靠木三</a></dt>
 <dd>
  <ul>
   <li><a href="#">ajax教程</a></li>
   <li><a href="#">softwhy.com</a></li>
   <li><a href="#">js教程</a></li>
  </ul>
 </dd>
</dl>
</body>
</html>

上面的代码实现了我们的要求,下面介绍一下它的实现过程。

一.代码注释:

(1).$(document).ready(function(){}),当文档结构完全加载完毕再去执行函数中的代码。
(2).$("dd:not(:first)").hide(),除第一个dd元素之外的所有dd元素隐藏,就是第一个导航菜单的子菜单是展开的,其他隐藏。
(3).$("dt a").click(function(){}),为dt元素下的a元素注册click事件处理函数。
(4).$("dd:visible").slideUp("slow"),所有已经显示的dd元素通过动画方式收缩隐藏。
(5).$(this).parent().next().slideDown("slow"),当前连接a元素的父元素也就是dt元素,dt元素的下一个元素就是二级菜单dd元素,将此菜单以动画方式展开。
(6).return false,这个很重要,防止链接的跳转动作。

以上所述是小编给大家分享基于jQuery实现以手风琴方式展开和折叠导航菜单,希望对大家有所帮助。

Javascript 相关文章推荐
不懂JavaScript应该怎样学
Apr 16 Javascript
事件模型在各浏览器中存在差异
Oct 20 Javascript
使用js对select动态添加和删除OPTION示例代码
Aug 12 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
Nov 06 Javascript
AngularJS 过滤器的简单实例
Jul 27 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
Oct 28 Javascript
Bootstrap简单表单显示学习笔记
Nov 15 Javascript
Javascript中从学习bind到实现bind的过程
Jan 05 Javascript
angularjs http与后台交互的实现示例
Dec 21 Javascript
微信小程序实现工作时间段选择
Feb 15 Javascript
Javascript基于OOP实实现探测器功能代码实例
Aug 26 Javascript
vue中利用three.js实现全景图的完整示例
Dec 07 Vue.js
基于JavaScript的操作系统你听说过吗?
Jan 28 #Javascript
js+canvas绘制矩形的方法
Jan 28 #Javascript
js+canvas简单绘制圆圈的方法
Jan 28 #Javascript
谈一谈javascript闭包
Jan 28 #Javascript
JavaScript统计字符串中每个字符出现次数完整实例
Jan 28 #Javascript
基于javascript实现checkbox复选框实例代码
Jan 28 #Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
Jan 28 #Javascript
You might like
PHP易混淆知识整理笔记
2015/09/24 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
php合并数组并保留键值的实现方法
2018/03/12 PHP
jcrop基本参数一览
2013/07/16 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
Node.js 条形码识别程序构建思路详解
2016/02/14 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
澳大利亚百货公司:David Jones
2018/02/08 全球购物
关于幼儿的自我评价
2013/12/18 职场文书
哈理工毕业生的求职信
2013/12/22 职场文书
节约用水倡议书
2014/04/16 职场文书
和解协议书
2014/04/16 职场文书
食品工程专业求职信
2014/06/15 职场文书
2014年向国旗敬礼活动方案
2014/09/27 职场文书
法人代表证明书格式
2014/10/01 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
建筑工程催款函
2015/06/24 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
Pytest中skip skipif跳过用例详解
2021/06/30 Python
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP