基于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 相关文章推荐
优化网页之快速的呈现我们的网页
Jun 29 Javascript
De facto standard 世界上不可思议的事实标准
Aug 29 Javascript
在Node.js中使用HTTP上传文件的方法
Jun 23 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
Jul 05 Javascript
AngularJS表达式讲解及示例代码
Aug 16 Javascript
vue2滚动条加载更多数据实现代码
Jan 10 Javascript
js实现下一页页码效果
Mar 07 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
Apr 21 Javascript
get  post jsonp三种数据交互形式实例详解
Aug 25 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
Sep 18 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
Sep 25 Javascript
微信小程序使用template标签实现五星评分功能
Nov 03 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
一个php作的文本留言本的例子(一)
2006/10/09 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
php数组键名技巧小结
2015/02/17 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
js文字滚动停顿效果代码
2008/06/28 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python魔术方法详解
2015/02/14 Python
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
Python利用命名空间解析XML文档
2020/08/10 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
红领巾广播站广播稿
2014/02/01 职场文书
3的组成教学反思
2014/04/30 职场文书
日语专业求职信
2014/07/04 职场文书
社区服务活动小结
2014/07/08 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
运输公司工作总结
2015/08/11 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python