基于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求平均值的小例子
Nov 29 Javascript
B/S模式项目中常用的javascript汇总
Dec 17 Javascript
jquery向上向下取整适合分页查询
Sep 06 Javascript
浅析jQuery中使用$所引发的问题
May 29 Javascript
微信小程序 less文件编译成wxss文件实现办法
Dec 05 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
Apr 04 Javascript
Vue组件系列开发之模态框
Apr 18 Javascript
layui form.render('select', 'test2') 更新渲染的方法
Sep 27 Javascript
JS图片预加载三种实现方法解析
May 08 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
Oct 28 Javascript
jQuery实现tab栏切换效果
Dec 22 jQuery
如何用threejs实现实时多边形折射
May 07 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
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
javascript管中窥豹 形参与实参浅析
2011/12/17 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
Jquery中val()表单取值赋值的实例代码
2013/08/15 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
JQueryDOM之样式操作
2019/03/27 jQuery
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
Node.js 实现抢票小工具 &amp; 短信通知提醒功能
2019/10/22 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
python中pyqtgraph知识点总结
2021/01/26 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
专科毕业生学习生活的自我评价
2013/10/26 职场文书
如何写你的创业计划书
2014/01/07 职场文书
年会主持词结束语
2014/03/27 职场文书
厕所文明标语
2014/06/11 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
办公室岗位职责
2015/02/04 职场文书
人与自然观后感
2015/06/16 职场文书
python办公自动化之excel的操作
2021/05/23 Python
python缺失值的解决方法总结
2021/06/09 Python