基于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 相关文章推荐
将文本输入框内容加入表中的js代码
Aug 18 Javascript
简单方法判断JavaScript对象为null或者属性为空
Sep 26 Javascript
JS实现跟随鼠标立体翻转图片的方法
May 04 Javascript
JS弹性运动实现方法分析
Dec 15 Javascript
微信小程序 WebSocket详解及应用
Jan 21 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
Jul 17 Javascript
jQuery简单实现对数组去重及排序操作实例
Oct 31 jQuery
layui.js实现的表单验证功能示例
Nov 15 Javascript
vue 父组件调用子组件方法及事件
Mar 29 Javascript
Vue2.0 实现移动端图片上传功能
May 30 Javascript
Vue3 源码导读(推荐)
Oct 14 Javascript
JavaScript中作用域链的概念及用途讲解
Aug 06 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中call_user_func_array的作用
2013/06/07 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
2015/01/28 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
jQuery当鼠标悬停时放大图片的效果实例
2013/07/03 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
PHP获取当前页面完整URL的方法
2016/12/02 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
js实现小星星游戏
2020/03/23 Javascript
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
python实现高斯投影正反算方式
2020/01/17 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
django和flask哪个值得研究学习
2020/07/31 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
蔻驰英国官网:COACH英国
2020/07/19 全球购物
班长岗位职责
2013/11/10 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
院系推荐意见
2015/06/05 职场文书
春风化雨观后感
2015/06/11 职场文书
2016应届毕业生实习评语
2015/12/01 职场文书
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS