jQuery实现有动画淡出效果的二级折叠菜单代码


Posted in Javascript onOctober 17, 2015

本文实例讲述了jQuery实现有动画淡出效果的二级折叠菜单代码。分享给大家供大家参考,具体如下:

这里介绍jQuery实现有动画淡出效果的二级折叠菜单代码,相当不错,因考虑功能的实现,所以没有怎么美化,不过这样也好,可以给大家更多的空间来修饰美化,想怎么弄就怎么弄了。

运行效果截图如下:

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>
<title>jQuery有动画淡出的二级折叠菜单代码</title>
<SCRIPT src="jquery1.3.2.js" type=text/javascript></SCRIPT>
<SCRIPT>
$(function(){
 $("a").bind("focus",function(){if(this.blur)this.blur();});
 $("#menu > li:first-child").addClass("first_menu");
 $("#menu > li:first-child.current_page_item, #menu > li:first-child.current-cat").addClass("first_menu_active");
 $("#menu > li:last-child").addClass("last_menu");
 $("#menu > li:last-child.current_page_item, #menu > li:last-child.current-cat").addClass("last_menu_active");
 $("#menu li ul li:has(ul)").addClass("parent_menu");
 $("#right_col ul > li:last-child").css({marginBottom:"0"});
 $("#comment_area ol > li:even").addClass("even_comment");
 $("#comment_area ol > li:odd").addClass("odd_comment");
 $(".even_comment > .children > li").addClass("even_comment_children");
 $(".odd_comment > .children > li").addClass("odd_comment_children");
 $(".even_comment_children > .children > li").addClass("odd_comment_children");
 $(".odd_comment_children > .children > li").addClass("even_comment_children");
 $(".even_comment_children > .children > li").addClass("odd_comment_children");
 $(".odd_comment_children > .children > li").addClass("even_comment_children");
 $("#guest_info input,#comment_textarea textarea")
 .focus( function () { $(this).css({borderColor:"#33a8e5"}) } )
 .blur( function () { $(this).css({borderColor:"#ccc"}) } );
 $(".search_tag").toggle(function(){
 $(".search_tag").addClass("active_search_tag");
 $("#tag_list ul").animate({ opacity: 'show', height:"show" }, {duration:1000 ,easing:"easeOutBack"});
 return false;
 },function(){
 $("#tag_list ul").fadeTo("slow", 0).slideUp("slow").fadeTo("fast", 1);
 $(".search_tag").removeClass("active_search_tag")
 return false;
 });
 $("#trackback_switch").click(function(){
 $("#comment_switch").removeClass("comment_switch_active");
 $(this).addClass("comment_switch_active");
 $("#comment_area").animate({opacity: 'hide'}, 0);
 $("#trackback_area").animate({opacity: 'show'}, 1000);
 return false;
 });
 $("#comment_switch").click(function(){
 $("#trackback_switch").removeClass("comment_switch_active");
 $(this).addClass("comment_switch_active");
 $("#trackback_area").animate({opacity: 'hide'}, 0);
 $("#comment_area").animate({opacity: 'show'}, 1000);
 return false;
 });
 $("#guest_info input,#comment_textarea textarea")
 .focus( function () { $(this).css({borderColor:"#33a8e5"}) } )
 .blur( function () { $(this).css({borderColor:"#ccc"}) } );
 $("blockquote").append('<div class="quote_bottom"></div>');
 $(".side_box:first").addClass("first_side_box");
});
function changefc(color){
 document.getElementById("search_input").style.color=color;
}
/*dropdowm menu*/
var menu=function(){
 var t=15,z=50,s=6,a;
 function dd(n){this.n=n; this.h=[]; this.c=[]}
 dd.prototype.init=function(p,c){
  a=c; var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;
  for(i;i<l;i++){
   var h=s[i].parentNode; this.h[i]=h; this.c[i]=s[i];
   h.onmouseover=new Function(this.n+'.st('+i+',true)');
   h.onmouseout=new Function(this.n+'.st('+i+')');
  }
 }
 dd.prototype.st=function(x,f){
  var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
  clearInterval(c.t); c.style.overflow='hidden';
  if(f){
   p.className+=' '+a;
   if(!c.mh){c.style.display='block'; c.style.height=''; c.mh=c.offsetHeight; c.style.height=0}
   if(c.mh==c.offsetHeight){c.style.overflow='visible'}
   else{c.style.zIndex=z; z++; c.t=setInterval(function(){sl(c,1)},t)}
  }else{p.className=p.className.replace(a,''); c.t=setInterval(function(){sl(c,-1)},t)}
 }
 function sl(c,f){
  var h=c.offsetHeight;
  if((h<=0&&f!=1)||(h>=c.mh&&f==1)){
   if(f==1){c.style.filter=''; c.style.opacity=1; c.style.overflow='visible'}
   clearInterval(c.t); return
  }
  var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
  c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
  c.style.height=h+(d*f)+'px'
 }
 return{dd:dd}
}();
</SCRIPT>
<style type="text/css">
a{text-decoration:none}
.menu ul{
 margin:0 0 0 10px;
 padding:0;
 display:none;
}
.menu ul li{
 height:22px;
 line-height:22px;
 border:none;
}
.menu ul li a{
 font-size:12px;
 font-weight:normal;
 color:#666;
}
.menu ul ul{
 position:absolute;
 z-index:3;
 background:#CC3366;
}
.menu ul ul li{text-indent:10px;padding-right:10px}
.menu ul ul li a{color:#fff}
</style>
</head>
<body>
 <ul class="menu" id="menu">
 <li><a href="#">一级菜单1</a>
 <ul>
 <li><a href="#">二级菜单1</a></li>
 <li><a href="#">二级菜单2</a></li>
 <li><a href="#">二级菜单3</a></li>
 <li><a href="#">二级菜单4</a></li>
 <li><a href="#">二级菜单5</a></li>
 <li><a href="#">二级菜单6</a></li>
 </ul>
 </li> 
 <li><a href="#">一级菜单2</a>
 <ul>
 <li><a href="#">二级菜单1</a>
  <ul>
  <li><a href="#">三级菜单1</a></li>
  <li><a href="#">三级菜单2</a></li>
  </ul>
 </li>
 <li><a href="#">二级菜单2</a></li>
 </ul>
 </li>
 </ul>
 <SCRIPT type=text/javascript> 
 var menu=new menu.dd("menu");
 menu.init("menu","menuhover");
</SCRIPT>
</body>
</html>

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

Javascript 相关文章推荐
关于 byval 与 byref 的区别分析总结
Oct 08 Javascript
js里取容器大小、定位、距离等属性搜集整理
Aug 19 Javascript
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
js/jquery解析json和数组格式的方法详解
Jan 09 Javascript
通过$(this)使用jQuery包装后的方法或属性
May 18 Javascript
改变状态栏文字的js代码
Jun 13 Javascript
JavaScript函数定义的常见注意事项小结
Sep 16 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
Jun 01 Javascript
JQuery包裹DOM节点的方法
Jun 11 Javascript
举例讲解AngularJS中的模块
Jun 17 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
Dec 13 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
利用jQuery和CSS将背景图片拉伸
Oct 16 #Javascript
基于jQuery实现的菜单切换效果
Oct 16 #Javascript
javascript判断复选框是否选中的方法
Oct 16 #Javascript
jquery判断复选框是否被选中的方法
Oct 16 #Javascript
基于jquery实现复选框全选,反选,全不选等功能
Oct 16 #Javascript
js生成随机数的方法实例
Oct 16 #Javascript
jQuery实现商品活动倒计时
Oct 16 #Javascript
You might like
一首老MP3,致敬WAR3经典
2021/03/08 魔兽争霸
php中final关键字用法分析
2016/12/07 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
python列表去重的二种方法
2014/02/14 Python
python k-近邻算法实例分享
2014/06/11 Python
Scrapy的简单使用教程
2017/10/24 Python
Django中的Model操作表的实现
2018/07/24 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
python环境路径配置以及命令行运行脚本
2019/04/02 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
python selenium自动化测试框架搭建的方法步骤
2020/06/14 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
在浏览器端如何得到服务器端响应的XML数据
2012/11/24 面试题
在校生自我鉴定
2014/01/23 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
公司辞职信模板
2015/05/13 职场文书