.htm
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>=========目录树 for ALL 1.0 =========</title>
<link href="menu.css" rel="stylesheet" type="text/css">
<script src="menu.js" type="text/javascript"></script>
</head>
<body onLoad="initialize()">
<script language="javascript">
var yematree = new Array();
yematree[0] = new Array("1","0","技术文档","http://www.yemaweb.com");
yematree[1] = new Array("2","0","情感世界","http://www.yemaweb.com");
yematree[2] = new Array("3","0","未来之窗","http://www.yemaweb.com");
yematree[3] = new Array("4","1","编程语言","http://www.yemaweb.com");
yematree[4] = new Array("5","1","服务器","http://www.yemaweb.com");
yematree[5] = new Array("6","1","代码共享","http://www.yemaweb.com");
yematree[6] = new Array("7","2","那年我18","http://www.yemaweb.com");
yematree[7] = new Array("8","4","Java","http://www.yemaweb.com");
yematree[8] = new Array("9","2","不要再给我温柔","http://www.yemaweb.com");
yematree[9] = new Array("10","3","未来技术","http://www.yemaweb.com");
yematree[10] = new Array("11","4","VC++","http://www.yemaweb.com");
yematree[11] = new Array("12","3","科幻世界","http://www.yemaweb.com");
yematree[12] = new Array("13","4","VB","http://www.yemaweb.com");
yematree[13] = new Array("14","4","C#","http://www.yemaweb.com");
yematree[14] = new Array("14","4","C#","http://www.yemaweb.com");
document.write(menu(yematree,0));
</script>
.js
// JavaScript Document
function menu(treedata,id) //画菜单
{
var currdata = new Array();
var i = 0;
var printstr = "<table border='0' cellspacing='0' cellpadding='0'>";
function itemExists(treedata,id)
{
for(var i=0;i<treedata.length;i++)
{
if(treedata[i][1]==id)return true;
}//end for
return false;
}//end function itemExists
function chengstate(menuid,save)
{ //切换节点的开放/关闭
menuobj = eval("item"+menuid);
obj = eval("pr"+menuid);
if(menuobj.style.display == '')
{
menuobj.style.display = 'none';
}else{
menuobj.style.display = '';
}//end if
switch (obj.className)
{
case "menu1":
obj.className = "menu2";
break;
case "menu2":
obj.className = "menu1";
break;
case "menu3":
obj.className = "menu4";
break;
case "menu4":
obj.className = "menu3";
break;
}//end switch
if(save!=false)
{
setupcookie(menuid); //保存状态
}//end if
}//end funciton chengstaut
function setupcookie(menuid)
{ //存入cookie 保存节点状态
var menu = new Array();
var menustr = new String();
menuOpen = false;
if(checkCookieExist("menu"))
{ //判断是否是是否已经保存过cookie
menustr = getCookie("menu");
//alert(menustr);
if(menustr.length>0)
{ //判断menu是否为空,,,否则分解为数组
menu = menustr.split(",");
for(i=0;i<menu.length;i++)
{
if(menu[i]==menuid)
{ //如果是打开状态,,,删除记录
menu[i]='';
menuOpen = true;
}//end if
}//end for
if(menuOpen==false)menu[i] = menuid;
}else{
menu[0] = menuid;
}//end if
}else{
menu[0] = menuid;
}//end if
menustr = menu.join(",");
menustr = menustr.replace(",,",",");
if(menustr.substr(menustr.length-1,1)==',')menustr = menustr.substr(0,menustr.length-1); //去掉最后的 ","
if(menustr.substr(0,1)==',')menustr = menustr.substr(1,menustr.length-1); //去掉开始的 ","
saveCookie("menu",menustr,1000);
//alert(menustr);
//deleteCookie("menu");
}//end function setupcookie
function initialize()
{ //取得cookie 设置节点的缩放,,初始化菜单状态
var menu = new Array();
var menustr = new String();
if(checkCookieExist("menu"))
{ //判断是否是是否已经保存过cookie
menustr = getCookie("menu");
if(menustr.length>0)
{ //判断长度是否合法
menu = menustr.split(",");
for(i=0;i<menu.length;i++)
{
if(objExists(menu[i]))
{ //验证对象是否存在
chengstate(menu[i],false);
}//end if
}//end for
objExists(99);
}//end if
}//end if
}//end funciton setupstate