javascript简单实现滑动菜单效果的方法

本文实例讲述了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程序设计有所帮助。

以上是 javascript简单实现滑动菜单效果的方法 的全部内容, 来源链接: utcz.com/z/320812.html

回到顶部