本文实例讲述了jQuery实现有动画淡出效果的二级折叠菜单代码。分享给大家供大家参考,具体如下:
这里介绍jQuery实现有动画淡出效果的二级折叠菜单代码,相当不错,因考虑功能的实现,所以没有怎么美化,不过这样也好,可以给大家更多的空间来修饰美化,想怎么弄就怎么弄了。
运行效果截图如下:
在线演示地址如下:
http://demo.phpstudy.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程序设计有所帮助。
本文地址:https://www.stayed.cn/item/15216
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我