JS实现仿QQ面板的手风琴效果折叠菜单代码


Posted in Javascript onSeptember 11, 2015

本文实例讲述了JS实现仿QQ面板的手风琴效果折叠菜单代码。分享给大家供大家参考。具体如下:

这是一款简单实用的垂直导航菜单,有人把这种风格称为“手风琴”菜单,类似仿QQ面板的折叠菜单,鼠标放在任意一个菜单上,它会展开所属的二级菜单,很不错的选择,以前就分享过此类菜单,这次经过了代码优化升级,更人性化了。

运行效果截图如下:

JS实现仿QQ面板的手风琴效果折叠菜单代码

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>简单实用的垂直导航菜单</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
.sv3 dl,.sv3 dt,.sv3 dd{
  padding:0;
  margin:0;
}
.sv3{
  width:240px;
  border:1px solid #BFC7D9;
}
.sv3 dl{
  width:240px;
  height:380px;
  background:#EDF5FF;
  overflow:hidden;
}
.sv3 dt{
  padding:5px 10px;
  height:13px;
  font-size:13px;
  color:#000;
  background:#E5ECF9;
  border-top:1px solid #fff;
  border-bottom:1px solid #BFC7D9;
}
.sv3 dl.on dt{
  background:#3366CC;
  color:#FFF;
  font-weight:bold;
}
.sv3 dd{
  padding:10px;
  color:#333;
  font-size:12px;
  line-height:1.5em;
}
.sv3 dd a:link,
.sv3 dd a:visited,
.sv3 dd a:hover,
.sv3 dd a:active{
  color:#333;
  display:block;
  text-align:right;
}
</style>
</head>
<body>
<h3>简单实用的垂直导航菜单</h3>
<div id="idSlideView3" class="sv3">
 <dl class="on">
 <dt>网页特效 </dt>
 <dd> 导航菜单</dd>
 </dl>
 <dl>
 <dt> 层与布局</dt>
 <dd> 内容二 </dd>
 </dl>
 <dl>
 <dt> 表单相关</dt>
 <dd> 内容三 </dd>
 </dl>
 <dl>
 <dt> ASP源码 </dt>
 <dd> 内容四</dd>
 </dl>
 <dl>
 <dt> PHP源码 </dt>
 <dd> 内容五 </dd>
 </dl>
</div>
<script language="javascript">
function SlideView(e){
 for(var r=document.getElementById(e).getElementsByTagName('dl'),c=clearInterval,i=-1,p=r[0],j; j=r[++i];){
  j.style.height=(i?24:379)+'px';
  j.onmouseover=function(){clearTimeout(j);var i=this;j=setTimeout(function(){if(p!=i)_(p,379,24)(p=i,24,379)},200)};
 }
 function _(el,f,t){
  c(el.$1);el.className=f>t?'':'on';
  return el.$1=setInterval(function(){el.style.height=(f+=Math[f>t?'floor':'ceil']((t-f)*.3))+'px';if (f==t)c(el.$1)},10),_
 }
};
new SlideView( "idSlideView3");
</script>
</body>
</html>

希望本文所述对大家的JavaScript程序设计有所帮助。

Javascript 相关文章推荐
用JavaScript显示随机图像或引用
Apr 21 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
Mar 26 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
May 09 Javascript
用JS实现图片轮播效果代码(一)
Jun 26 Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 Javascript
利用VUE框架,实现列表分页功能示例代码
Jan 12 Javascript
ReactNative踩坑之配置调试端口的解决方法
Jul 28 Javascript
浅谈vue中慎用style的scoped属性
Nov 28 Javascript
使用express搭建一个简单的查询服务器的方法
Feb 09 Javascript
iview table高度动态设置方法
Mar 14 Javascript
vue实现动态显示与隐藏底部导航的方法分析
Feb 11 Javascript
Javascript表单序列化原理及实现代码详解
Oct 30 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
Sep 11 #Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
Sep 11 #Javascript
js实现的后台左侧管理菜单代码
Sep 11 #Javascript
微信企业号开发之微信考勤Cookies的使用
Sep 11 #Javascript
微信企业号开发之微信考勤百度地图定位
Sep 11 #Javascript
JavaScript处理解析JSON数据过程详解
Sep 11 #Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
Sep 11 #Javascript
You might like
php绘图之在图片上写中文和英文的方法
2015/01/24 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
一些mootools的学习资源
2010/02/07 Javascript
js常用代码段整理
2011/11/30 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
2013/12/11 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
分享使用AngularJS创建应用的5个框架
2015/12/05 Javascript
一道JS前端闭包面试题解析
2015/12/25 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
小程序如何定位所在城市及发起周边搜索
2020/02/11 Javascript
Flask框架WTForm表单用法示例
2018/07/20 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
Python csv模块使用方法代码实例
2019/08/29 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
离职信范本
2015/06/23 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
vue3中provide && inject的使用
2021/07/01 Vue.js
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python