基于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 Xml增删改查(IE下)操作实现代码
Jan 30 Javascript
js 获取计算后的样式写法及注意事项
Feb 25 Javascript
浅析ajax请求json数据并用js解析(示例分析)
Jul 13 Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 Javascript
Bootstrap 附加导航(Affix)插件实例详解
Jun 01 Javascript
js多个物体运动功能实例分析
Dec 20 Javascript
详解jQuery事件
Jan 13 Javascript
AngularJS之页面跳转Route实例代码
Mar 10 Javascript
xmlplus组件设计系列之树(Tree)(9)
May 02 Javascript
简述jQuery Easyui一些用法
Aug 01 jQuery
用node开发并发布一个cli工具的方法步骤
Jan 03 Javascript
js实现跳一跳小游戏
Jul 31 Javascript
基于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
关于时间计算的结总
2006/12/06 PHP
一篇入门的php Class 文章
2007/04/04 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
解决laravel session失效的问题
2019/10/14 PHP
33种Javascript 表格排序控件收集
2009/12/03 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
js中的事件委托或是事件代理使用详解
2017/06/23 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
[02:35]DOTA2超级联赛专访XB 难忘一年九冠称王
2013/06/20 DOTA
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python如何实现MySQL实例初始化详解
2017/11/06 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
美国最大点评网站:Yelp
2018/02/14 全球购物
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
后勤自我鉴定
2013/10/13 职场文书
化学教学随笔感言
2014/02/19 职场文书
企业优秀团员事迹材料
2014/08/20 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
小学生毕业评语
2014/12/26 职场文书
党建工作目标管理责任书
2015/01/29 职场文书
紧急通知
2015/04/17 职场文书