本文实例讲述了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程序设计有所帮助。
本文地址:https://www.stayed.cn/item/18079
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我