jQuery实现有动画淡出效果的二级折叠菜单代码
2015-10-17 14:39
1016 查看
本文实例讲述了jQuery实现有动画淡出效果的二级折叠菜单代码。分享给大家供大家参考,具体如下:
这里介绍jQuery实现有动画淡出效果的二级折叠菜单代码,相当不错,因考虑功能的实现,所以没有怎么美化,不过这样也好,可以给大家更多的空间来修饰美化,想怎么弄就怎么弄了。
运行效果截图如下:
在线演示地址如下:
http://demo.jb51.net/js/2015/jquery-dh-flash-fade-in-out-2-menu-demo/
具体代码如下:
<!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程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- 底部Popwindow形式菜单的类的封装
- JavaScript演示排序算法
- 2015-2016网页设计趋势分析 Web Design of Trends
- jQuery Ajax 跨域调用
- 移动端的长按事件
- jquery教程靠边站,一分钱不花让你免费学会jquery
- JQuery+Strusts1.x无刷新登录
- Gifski:一个跨平台的高质量 GIF 编码器
- 一步一步跟我学易语言之第二个易程序菜单设计
- IE右键菜单被修改
- jQuery菜单插件用法实例
- JQuery 初体验(建议学习jquery)
- Jquery实现的table最后一行添加样式的代码
- jQuery实现向下滑出的平滑下拉菜单效果
- jQuery 练习[一] 学习jquery的准备工作
- 模仿动画的放大缩小容器
- jquery获得页面元素的坐标值实现思路及代码
- 使用Browserify配合jQuery进行编程的超级指南