基于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常见用法总结
May 22 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
Feb 02 Javascript
JS实现在页面随时自定义背景颜色的方法
Feb 27 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
May 04 Javascript
JavaScript学习笔记之数组的增、删、改、查
Mar 23 Javascript
jQuery实现字体颜色渐变效果的方法
Mar 29 jQuery
vue实现简单表格组件实例详解
Apr 16 Javascript
AngularJs 常用的过滤器
May 15 Javascript
详解webpack分包及异步加载套路
Jun 29 Javascript
vue里input根据value改变背景色的实例
Sep 29 Javascript
js实现GIF动图分解成多帧图片上传
Oct 24 Javascript
vue 实现一个简单的全局调用弹窗案例
Sep 10 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实现文件下载实例分享
2014/06/02 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
python搜索包的路径的实现方法
2019/07/19 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
如何用python 操作zookeeper
2020/12/28 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
医学生实习自我鉴定
2013/09/27 职场文书
参观监狱心得体会
2014/01/02 职场文书
学生周末回家住宿长期请假条
2014/02/15 职场文书
一年级班主任感言
2014/03/08 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
预备党员转正思想汇报
2014/09/26 职场文书
公司授权委托书
2014/10/17 职场文书
自我工作评价范文
2015/03/06 职场文书
2015年中秋寄语
2015/07/31 职场文书
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript