本文实例讲述了javascript简单实现滑动菜单效果的方法。分享给大家供大家参考。具体如下:
整个javascript代码共42行,其中主要函数Slide代码26行,可以改进哦!
<!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><style>a,body,div,h1,h2,li,ul{margin:0;padding:0}a{display:block;text-decoration:none;height:25px;color:#456;background-color:#ABC;cursor:pointer;}a:hover{color:#123;background-color:#789;font-weight:bold;}body{font:12px/18px "Times New Roman",Times,"宋体",serif;text-align:center;}h1{height:100px;width:25px;position:absolute;top:-1px;left:123px;cursor:pointer;color:#89A;font-size:18px; line-height:50px;background-color:#234;}h2{height:24px;font-size:12px;border-bottom:1px solid #4C6CB9;color:#BBB;font-weight:600;cursor:pointer;}li{height:25px;list-style:none}#Container{width:800px;background-color:#DDD;border: 1px solid #999;margin:10px auto}#Top{height:30px;background-color:#DDD;border: 1px solid #999;}#Logo{height:100px;background-color:#DDD;border: 1px solid #999;}#Nav{height:30px;background-color:#DDD;border: 1px solid #999;}#SideBar{position:fixed!important;position:absolute;top:200px;left:0px;}#SideBar a,#SideBar h2,#SideBar li,#SideBar ul{width:120px}#Main{height:800px;background-color:#DDD;border: 1px solid #999;}#Footer{height:60px;background-color:#DDD;border: 1px solid #999;}.Extracted{width:0px;}.Extrended{border:1px solid #555;background-color:#000;padding:1px}</style></head><body><div id="Container"><div id="Top">顶条</div><div id="Logo">Logo</div><div id="Nav">导航条</div><div id="SideBar" class="Extrended"><h1>菜单</h1><ul><h2>功能栏1</h2><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></ul><ul><h2>功能栏2</h2><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></ul><ul><h2>功能栏3</h2><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></ul><ul><h2>功能栏4</h2><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></ul><ul><h2>功能栏5</h2><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></ul><ul><h2>功能栏6</h2><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></ul></div><div id="Main">内容区</div><div id="Footer">底条</div></div><script type="text/javascript">function $(e){return document.getElementById(e)}function Slide(Element,Mod){var LongthMax,LongthMin,Property,Count=25,Accum,ID,Dlt,DltDlt;if(Mod){Property="left";LongthMax=0;LongthMin=-124;}else{Property="height";LongthMax=Element.children.length*25;LongthMin=25;}DltDlt=(LongthMax-LongthMin)/(Count*5);if(Element.style[Property]==LongthMax+"px")DltDlt=-DltDlt;Accum=parseInt(Element.style[Property]);Dlt=7*DltDlt;ID=setInterval(function(){if(Count--){if(!(Count%5))Dlt-=DltDlt;Accum+=Dlt;Element.style[Property]=Math.floor(Accum)+"px";return}clearInterval(ID);Element.style[Property]=(DltDlt>0)? LongthMax+"px":LongthMin+"px";},20);}$("SideBar").style.left="0px";$("SideBar").children[0].onclick=function(){Slide(this.parentNode,1);};(function(Menu,i,tmp){Menu=document.getElementsByTagName("ul");for(i=Menu.length;i--;){tmp=Menu[i];tmp.style.overflow="hidden";tmp.style.height="25px";tmp.children[0].onclick=function(){Slide(this.parentNode,0);};}}());</script></body></html>希望本文所述对大家的javascript程序设计有所帮助。