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 相关文章推荐
基于jquery实现图片广告轮换效果代码
Jul 07 Javascript
JavaScript代码复用模式实例分析
Dec 02 Javascript
javascript实现的闭包简单实例
Jul 17 Javascript
JS实现的自定义右键菜单实例二则
Sep 01 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
Dec 21 Javascript
微信小程序 新建登录页并实现tabBar隐藏
Jun 13 Javascript
关于vue.extend和vue.component的区别浅析
Aug 16 Javascript
vue解决跨域路由冲突问题思路解析
Nov 03 Javascript
node.js中fs文件系统目录操作与文件信息操作
Feb 24 Javascript
JS实现移动端触屏拖拽功能
Jul 31 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
Jul 13 Javascript
JavaScript 监听组合按键思路及代码实现
Jul 28 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 fread()使用技巧
2010/01/22 PHP
PHP关联数组的10个操作技巧
2013/01/21 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
jquery click([data],fn)使用方法实例介绍
2013/07/08 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
Python实现FTP文件传输的实例
2019/07/07 Python
Python实现FLV视频拼接功能
2020/01/21 Python
Python定义函数实现累计求和操作
2020/05/03 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
大学生毕业的自我鉴定
2013/11/13 职场文书
优秀的茶餐厅创业计划书
2014/01/03 职场文书
创建省级文明单位实施方案
2014/02/27 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
2019年最新借条范本!
2019/07/08 职场文书
React配置子路由的实现
2021/06/03 Javascript
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs