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 相关文章推荐
JavaScript对象模型-执行模型
Apr 28 Javascript
javascript实现window.print()去除页眉页脚
Dec 30 Javascript
JS中的Replace方法使用经验分享
May 20 Javascript
window.onload绑定多个事件的两种解决方案
May 15 Javascript
Ionic快速安装教程
Jun 03 Javascript
jQuery深拷贝Json对象简单示例
Jul 06 Javascript
AngularJs bootstrap搭载前台框架——准备工作
Sep 01 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
Dec 26 Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 Javascript
微信小程序 scroll-view 实现锚点跳转功能
Dec 12 Javascript
React组件设计模式之组合组件应用实例分析
Apr 29 Javascript
vue 给数组添加新对象并赋值
Apr 20 Vue.js
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
新手入门常用代码集锦
2007/01/11 Javascript
ASP SQL防注入的方法
2008/12/25 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
jQuery多项选项卡的实现思路附样式及代码
2014/06/03 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
JS Input里添加小图标的两种方法
2017/11/11 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
js计算最大公约数和最小公倍数代码实例
2019/09/11 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
javascript 数组(list)添加/删除的实现
2020/12/17 Javascript
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
python树的同构学习笔记
2019/09/14 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
h5封装下拉刷新
2020/08/25 HTML / CSS
英国网上超市:Ocado
2020/03/05 全球购物
新闻系毕业生推荐信
2013/11/16 职场文书
一夜的工作教学反思
2014/02/08 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
奉献演讲稿范文
2014/05/21 职场文书
团结就是力量演讲稿
2014/05/21 职场文书
工程承包协议书
2014/10/20 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android