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 Select操作大集合
May 26 Javascript
JavaScript 乱码问题
Aug 06 Javascript
Bootstrap表单布局样式代码
May 31 Javascript
javascript类型系统——undefined和null全面了解
Jul 13 Javascript
基于js实现的限制文本框只可以输入数字
Dec 05 Javascript
AngularJS之页面跳转Route实例代码
Mar 10 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
Oct 09 Javascript
Bootstrap-table使用footerFormatter做统计列功能
Sep 07 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
Aug 09 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
Oct 15 Javascript
vue移动端使用canvas签名的实现
Jan 15 Javascript
微信分享invalid signature签名错误踩过的坑
Apr 11 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
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP二维关联数组的遍历方式(实例讲解)
2017/10/18 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
node.js读取文件到字符串的方法
2015/06/29 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
python和shell变量互相传递的几种方法
2013/11/20 Python
python中引用与复制用法实例分析
2015/06/04 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
python实现外卖信息管理系统
2018/01/11 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
Python 学习教程之networkx
2019/04/15 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
Python ini文件常用操作方法解析
2020/04/26 Python
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
标准化管理实施方案
2014/02/25 职场文书
联欢晚会主持词
2014/03/25 职场文书
婚育证明样本
2015/06/16 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python