jQuery实现折叠、展开的菜单组效果代码


Posted in Javascript onSeptember 16, 2015

本文实例讲述了jQuery实现折叠、展开的菜单组效果代码。分享给大家供大家参考。具体如下:

这是一款jQuery实现的漂亮的竖向折叠菜单组,初次运行的时候请刷新一下页面,让jQ载入,这款菜单应用广泛,可用到后台左侧,网站前台也可以用,发现自腾讯微博开放平台,分享给大家一起研究吧。提示:如果有错误,请刷新页面。

运行效果截图如下:

jQuery实现折叠、展开的菜单组效果代码

在线演示地址如下:

具体代码如下:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>一个展开合拢的菜单效果</title>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<style>
* { margin:0; padding:0; }
ul,li { list-style:none; }
.catalog { width:164px; margin:0 auto;}
.t1 { height:4px; background:url(images/bg_catalog.gif) left top no-repeat; }
.t2 { background:url(images/bg_catalog.gif) -164px top repeat-y; }
.t3 { height:4px; background:url(images/bg_catalog.gif) left bottom no-repeat; }
.t2 h2 { height:81px; background:url(images/bg_catalog_logo.gif) center no-repeat; text-indent:-9999px; }
.t2 h3 { heigth:36px; line-height:36px; margin:0 1px; text-indent:26px; background:url(images/bg_catalog_icon.gif) no-repeat 13px 14px; font-size:14px; border-top:1px solid #fFF; }
.t2 ul { padding:10px 0; font-size:12px; }
.t2 li { text-indent:27px; height:30px; line-height:30px; }
.selected { display:block;}
.unselected {display:none;}
</style>
</head>
<body>
<div class="re_left">
<div class="catalog">
<div class="t1"></div> 
<div class="t2">
 <h2>资源</h2>
 <h3><a href="javascript:void(0);" src="#">平台使用说明</a></h3>
 <ul class="unselected">
 <li><a href="#">平台介绍</a></li>
 <li><a href="#">应用开发说明</a></li>
 <li><a href="#">应用审核流程</a></li>
 <li style="display:none;"><a href="#">成功案例</a></li>
 <li><a href="#">开发者协议</a></li>
 </ul>
 <h3><a href="javascript:void(0);" src="#">API说明</a></h3>
 <ul class="unselected">
 <li><a href="#">API文档</a></li>
 <li><a href="#">Oauth授权说明</a></li>
 <li><a href="#">API调用权限</a></li>
 </ul>
 <h3><a href="javascript:void(0);" src="#">SDK及资源下载</a></h3>
 <ul class="unselected">
 <li><a href="#">SDK下载</a></li>
 <li><a href="#">视觉素材下载</a></li>
 </ul>
 <h3><a href="javascript:void(0);" src="#">帮助中心</a></h3>
 <ul class="unselected">
 <li><a href="#">常见问题解答</a></li>
 <li><a href="#">返回错误码说明</a></li>
 </ul>
</div>
<div class="t3"></div>
</div>
</div>
<script type="text/javascript">
 $(document).ready(function(){
 var catalogIndex=[0,0];
 if (catalogIndex[0]==2){catalogIndex[0]=3;}
 else if(catalogIndex[0]==3){catalogIndex[0]=2;}
 if(catalogIndex.length==0){catalogIndex=[0,0];}
 $(".re_left .catalog h3 a").each(function(){
  $(this).attr("src",$(this).attr("href"));
  });
 $(".re_left .catalog").find("ul").css("border-bottom",0).end().find("h3:eq("+catalogIndex[0]+")").addClass("open").find("a").attr("href","javascript:void(0);").end().next().css("display","block").find("li:eq("+(catalogIndex[1]-1==-1?9999:catalogIndex[1]-1)+")").addClass("active");$(".re_left .catalog").find("h3").last().css("border-bottom-width","0");});
$(".re_left .catalog").find("h3").bind("click",function(){
  if ($(this).hasClass("open"))
  {
  if ($(this).next().find(".active").size()==0)
  {
   $(this).next().slideUp(500,function(){
   $(this).prev().removeClass("open");
   }); 
  }
  else
  {
   $(this).next().slideUp(500,function(){
   $(this).prev().removeClass("open");
   //window.location.href=$(this).prev().find("a").attr("src");
   });
  }
  }
  else
  {
  $(this).parent().find("ul").slideUp("slow").end().find("h3").removeClass("open");
  $(this).addClass("open").next().slideDown(500,function(){
  if ($(this).nextAll("h3").size()>0)
  {$(this).parent().find("h3").last().css("border-bottom-width","1px");}
  else
  {$(this).parent().find("h3").last().css("border-bottom-width","0");}
  window.location.href=$(this).prev().find("a").attr("src");
  });
  }
  return false;
}); 
</script>
<br><div align="center">提示:如果有错误,请刷新页面。</div>
</body>
</html>

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

Javascript 相关文章推荐
响应鼠标变换表格背景或者颜色的代码
Mar 30 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 Javascript
js中的this关键字详解
Sep 25 Javascript
一个简单的Node.js异步操作管理器分享
Apr 29 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Sep 26 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
Jun 22 Javascript
浅析vue component 组件使用
Mar 06 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
Jun 03 Javascript
Vue内容分发slot(全面解析)
Aug 19 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
Aug 04 Javascript
详解Vue组件之间通信的七种方式
Apr 14 Javascript
vue实现移动端返回顶部
Oct 12 Javascript
ANGULARJS中使用JQUERY分页控件
Sep 16 #Javascript
js实现tab切换效果实例
Sep 16 #Javascript
JS实现自动固定顶部的悬浮菜单栏效果
Sep 16 #Javascript
jQuery图片轮播滚动切换代码分享
Apr 20 #Javascript
JS实现光滑展开合拢的菜单效果代码
Sep 16 #Javascript
jQuery实现两款有动画功能的导航菜单代码
Sep 16 #Javascript
javascript中的previousSibling和nextSibling的正确用法
Sep 16 #Javascript
You might like
用PHP编程语言开发动态WAP页面
2006/10/09 PHP
php记录代码执行时间(实现代码)
2013/07/05 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
服务器安全设置的几个注册表设置
2007/07/28 Javascript
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
jQuery DOM操作小结与实例
2010/01/07 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
jquery.pagination.js 无刷新分页实现步骤分享
2012/05/23 Javascript
判断一个对象是否为jquery对象的方法
2014/03/12 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
2014/09/10 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
JavaScript获取并更改input标签name属性的方法
2015/07/02 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
Python去除字符串两端空格的方法
2015/05/21 Python
Python的Django中将文件上传至七牛云存储的代码分享
2016/06/03 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
用python制作个音乐下载器
2021/01/30 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
管道维修工岗位职责
2013/12/27 职场文书
岗位职责怎么写
2014/03/14 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
大学班干部竞选稿
2015/11/20 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
关于Python使用turtle库画任意图的问题
2022/04/01 Python