您的位置:首页 > Web前端 > JavaScript

一个不错的JS动态左侧菜单[收藏]

2009-04-20 20:06 369 查看
<!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=gb2312" />
<style type="text/css">
body{margin:10px;padding:10px;}
body,h2,div,span,li{font-size:12px;}
.title01,.title02 {color:#fff;font-weight:bold;}
#DoorP{border:12px solid #eee;width:150px;padding:4px;background:#fff;}
h2{text-align:center;margin:0px;padding:0px;line-height:22px;}
.title01{width:100%;height:25px;background:#00ccff;cursor:pointer;}
.title02{width:100%;height:25px;background:#99cc00;cursor:pointer;}
.content{background:#eee;border-bottom:2px solid #fff;overflow:hidden;color:#666;padding-left:4px;padding-right:4px;line-height:18px;}
.content a:link,.content a:visited{color:#666666;text-decoration:none;}
.content a:hover{color:#FF6600;text-decoration:underline;}
</style>
<title></title>
</head>

<body>
<div id="DoorP">
<h2>第一层信息</h2>
<div class="content">菜单一<br /></div>
<h2>第二层信息</h2>
<div class="content"><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /><a href="#">子菜单</a><br /></div>
<h2>第三层信息</h2>
<div class="content">菜单三<br />菜单三<br />菜单三<br />菜单三<br />菜单三<br />菜单三<br /></div>
<h2>第四层信息</h2>
<div class="content">子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br /></div>
<h2>第五层信息</h2>
<div class="content">子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br /></div>
<h2>第六层信息</h2>
<div class="content">子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br />子菜单<br

/></div>
</div>
<script type="text/javascript">
var onum=0;// 设置初始打开的层序号
var closeState=new Array();
var ch=new Array();
function $(id){if(document.getElementById(id)){return document.getElementById(id);}else{alert("没有找到!")}}
function $tag(id,tagName){return $(id).getElementsByTagName(tagName)}
var Ds=$tag("DoorP","div");
var Ts=$tag("DoorP","h2");
if(Ds.length != Ts.length){alert("初始化失败!");}
function showMe(Cid,Oid){var h=parseInt(Ds[Cid].style.height);var h2=parseInt(Ds[Oid].style.height);var dH=ch[Oid];if(h>0){h=h-Math.ceil(h/3);Ds

[Cid].style.height=h+"px";};if(h2<dH){h2=h2+Math.ceil((dH-h2)/3);Ds[Oid].style.height=h2+"px";};if(h<=0&&h2>=dH){clearTimeout(closeState[Cid]);return

false;};closeState[Cid] = setTimeout("showMe("+Cid+","+Oid+")");}
for(var i=0;i<Ds.length;i++){
ch[i]=Ds[i].offsetHeight;
if(i==onum){Ds[i].style.height=ch[i]+"px";Ts[i].className="title01";}else{Ds[i].style.height="0px";Ts[i].className="title02";}
Ts[i].value=i;
Ts[i].onclick=function(){if(onum==this.value){return false;};
Ts[onum].className="title02";
Ts[this.value].className="title01";
for(var i=0;i<closeState.length;i++){clearTimeout(closeState[i]);}
showMe(onum,this.value);
onum=this.value;
}
}
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: