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 相关文章推荐
js兼容标准的表格变色效果
Jun 28 Javascript
一个收集图片的bookmarlet(js 刷新页面中的图片)
May 27 Javascript
jquery实现的鼠标拖动排序Li或Table
May 04 Javascript
javascript原始值和对象引用实例分析
Apr 25 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
Sep 01 Javascript
JS获取数组最大值、最小值及长度的方法
Nov 24 Javascript
js中document.referrer实现移动端返回上一页
Feb 22 Javascript
重新理解JavaScript的六种继承方式
Mar 24 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
Dec 19 Javascript
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
vue动态禁用控件绑定disable的例子
Oct 28 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
Jul 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
php 使用post,get的一种简洁方式
2010/04/25 PHP
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
Using the TextRange Object
2006/10/14 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
Jquery获取当前城市的天气信息
2016/08/05 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
盘点提高 Python 代码效率的方法
2014/07/03 Python
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
Python实现时间序列可视化的方法
2019/08/06 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
2014年党员公开承诺书范文
2014/03/28 职场文书
爱岗敬业事迹材料
2014/12/24 职场文书
小学中队活动总结
2015/05/11 职场文书
建国大业电影观后感
2015/06/01 职场文书
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
mysql配置SSL证书登录的实现
2021/09/04 MySQL
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript