杭州电脑保姆
用户公告
各位网友好:
    特此申明:本站纯属个人爱好网站,无任何赢利目的,如有涉及侵权-请留言提醒,一定马上删除!
    本站最佳浏览分辨率= 1024 X 768 !
搜索BLOG文章
网友IP追踪



博客基本信息
用户名: lankong
等级: 大学生
在线时间: 4153 分钟
日志总数: 410
评论数量: 448
访问次数: 331145
建立时间: 2007-06-22

我的日志
纯javascript树型菜单代码2007-11-20
纯javascript树型菜单
2007-05-23 10:40

另存为web页 
<!--  
=========================================================================================== 
* 
* Copyright (c) 2005, DINNER3000 工作室 
* All rights reserved. 
* 
* 文件名称:template.html 
* 文件标识: 
* 摘 要:HTML标准模板 
* 作 者:dinner3000 
* 修 改 者: 
* 修改内容: 
* 修改时间: 
* 版 本:2005-5-12 
* $Id$ 
* 
=========================================================================================== 
--> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<meta http-equiv="content-type" content="text/html; charset=([$_CHARSET_])"> 
<TITLE> 菜单 </TITLE> 
<META NAME="Generator" CONTENT="EditPlus"> 
<META NAME="Author" CONTENT=""> 
<META NAME="Keywords" CONTENT=""> 
<META NAME="Description" CONTENT=""> 
<link rel=stylesheet href="([$_CSSINC_])" type="text/css"> 
<style> 
body { 
font-family: arial, 宋体, serif; 
font-size:14px; 
} 
tr.unchanged { 
} 
   tr.changed { 
   background-color: #CC3300 
   } 
   div.active { 
   background-color: #00CC66; 
   cursor: hand 
   } 
div.inactive{ 
} 
   div.active1 { 
   cursor: hand 
   } 
</style> 
</HEAD> 
<body> 
<SCRIPT LANGUAGE="JavaScript" type="text/javascript"> 
<!-- 
   //([$_ARRAY_]) 
   var priv_id=new Array("0", "0-0", "0-1", "1", "1-0", "2", "2-0", "2-0-0", "2-1", "2-1-0"); 
   var priv_name=new Array("用户管理", "添加用户", "权限变更", "系统管理", "系统权限管理", "信息系统功能一", "点击流分析", "用户热点路径分析", "点击图分析", "用户热点点击分析"); 
   var priv_value=new Array("###", "/php_test/admin_adduser.php", "/php_test/admin_moduser.php", "###", "/php_test/admin_modsyspriv.php", "###", "##", "#", "##", "#"); 
   var priv_type=new Array("0", "2", "2", "0", "2", "0", "1", "2", "1", "2"); 
   //注:上面的4个数组确定了菜单属性. priv_id为菜单项目代码, 用以确定菜单层级关系; priv_name为显示名称; priv_value为菜单链接; priv_type为构建菜单时的辅助变量, 0-主键, 1-副键, 2-系统链接, 3-外部链接 
function GetObjById(obj_id){ 
   return document.getElementById(obj_id); 
   } 
   function CreatObj(obj_tag){ 
   return document.createElement(obj_tag); 
   } 
   function SetObjAttrib(obj, obj_name, obj_id, obj_text, obj_class){ 
   obj.name=obj_name; 
   obj.id=obj_id; 
   if(obj_text) obj.innerText=obj_text; 
   if(obj_class) obj.className=obj_class; 
   } 
   function AddEvent(obj, event, func, param){ 
   var aaa=obj; 
   var _st = aaa.attachEvent; 
   aaa.attachEvent = function(md,fr) { 
   if(typeof fr == 'function'){ 
   var argu = Array.prototype.slice.call(arguments,2); 
   var f = (function(){ fr.apply(null,argu); }); 
   return _st(md,f); 
   } 
   return _st(md,fr); 
   } 
   aaa.attachEvent(event, func, param); 
   aaa.appendChild(obj); 
   } 
   function CreateSubMenu(menu_root, menu_name, menu_id, menu_text, menu_class){ 
   var sub_menu=CreatObj("div"); 
   SetObjAttrib(sub_menu, menu_name, menu_id, menu_text, menu_class); 
   menu_root.appendChild(sub_menu); 
   return sub_menu; 
   } 
   function ShowName(param){ 
   alert(param); 
   } 
   function ChangeMenu(menu_id){ 
   for(var i=0; i<priv_id.length; i++){ 
   if(priv_type=="0"){ 
   GetObjById(priv_id).style.display=""; 
   }else{ 
   if( (GetGrade(priv_id)==GetGrade(menu_id)&&GetUperGrade(priv_id)==GetUperGrade(menu_id)) || (GetUperGrade(priv_id)==menu_id) ){ 
   GetObjById(priv_id).style.display=""; 
   }else{ 
   GetObjById(priv_id).style.display="none"; 
   } 
   } 
   } 
   } 
   function ActiveMenu(menu_id){ 
   //alert(GetObjById(menu_id).id+" active"); 
   GetObjById(menu_id).className="active"; 
   } 
   function InactiveMenu(menu_id){ 
   //alert(GetObjById(menu_id).id+" inactive"); 
   GetObjById(menu_id).className="inactive"; 
   } 
   function ActiveMenu1(menu_id){ 
   //alert(GetObjById(menu_id).id+" active"); 
   GetObjById(menu_id).className="active1"; 
   } 
   function InactiveMenu1(menu_id){ 
   //alert(GetObjById(menu_id).id+" inactive"); 
   GetObjById(menu_id).className="inactive1"; 
   } 
   function OpenUrl(_url, _target){ 
   // alert(_url+" => "+_target); 
   window.open(_url, _target) 
   } 
   function Logout(_url){ 
   OpenUrl(_url, "_parent"); 
   } 
   function OpenContent(_url){ 
   OpenUrl("([$_SYSTEMROOT_])"+_url, "content"); 
   } 
   function OpenContent1(_url){ 
   OpenUrl(_url, "content"); 
   } 
   function CountChar(str, tag){ 
   var ret=0; 
   for(var i=0; i<str.length; i++){ 
   if(str.charAt(i)==tag){ 
   ret++; 
   } 
   } 
   return ret; 
   } 
   function CombineChar(tag, n){ 
   var ret=""; 
   for(var i=0; i<n; i++){ 
   ret+=tag; 
   } 
   return ret; 
   } 
   function GetGrade(str){ 
   return CountChar(str, "-"); 
   } 
   function GetUperGrade(str){ 
   if(str.indexOf("-")!=-1){ 
   return str.substr(0, str.lastIndexOf("-")); 
   }else{ 
   return str; 
   } 
   } 
   function GetRootGrade(str){ 
   if(str.indexOf("-")!=-1){ 
   return str.substr(0, str.indexOf("-")); 
   }else{ 
   return str; 
   } 
   } 
var login=CreatObj("div"); 
   SetObjAttrib(login, "login", "login", "欢迎 ([$_USERNAME_]) !"); 
   AddEvent(login, "onmouseover", ActiveMenu1, "login"); 
   AddEvent(login, "onmouseout", InactiveMenu1, "login"); 
   document.body.appendChild(login); 
var menu=CreatObj("div"); 
   SetObjAttrib(menu, "menu_root", "menu_root"); 
   document.body.appendChild(menu); 
var logout=CreatObj("div"); 
   SetObjAttrib(logout, "logout", "logout", "安全退出"); 
   AddEvent(logout, "onclick", Logout, "([$_PAGELOGOUT_])"); 
   AddEvent(logout, "onmouseover", ActiveMenu, "logout"); 
   AddEvent(logout, "onmouseout", InactiveMenu, "logout"); 
   document.body.appendChild(logout); 
var grade; 
   if(priv_id.length!=0){ 
   for(var i=0; i<priv_id.length; i++){ 
   grade=CountChar(priv_id, "-"); 
   if(priv_type=="0"||priv_type=="1"){ 
   var sub_menu=CreateSubMenu(menu, "menu", priv_id, CombineChar(" ", grade)+"+ "+priv_name); 
   AddEvent(sub_menu, "onclick", ChangeMenu, priv_id); 
   AddEvent(sub_menu, "onmouseover", ActiveMenu, priv_id); 
   AddEvent(sub_menu, "onmouseout", InactiveMenu, priv_id); 
   }else{ 
   var sub_menu=CreateSubMenu(menu, "menu", priv_id, CombineChar(" ", grade)+"- "+priv_name); 
   if(priv_type=="2"){ 
   AddEvent(sub_menu, "onclick", OpenContent, priv_value); 
   }else if(priv_type=="3"){ 
   AddEvent(sub_menu, "onclick", OpenContent1, priv_value); 
   } 
   AddEvent(sub_menu, "onmouseover", ActiveMenu, priv_id); 
   AddEvent(sub_menu, "onmouseout", InactiveMenu, priv_id); 
   } 
   if(priv_type!="0") GetObjById(priv_id).style.display="none"; 
   } 
   }else{ 
   SetObjAttrib(menu, "menu_root", "menu_root", "您没有任何权限."); 
   } 
//--> 
</SCRIPT> 
</BODY> 
</HTML>


原创文章如转载,请注明:转载自滨江区电脑维修_杭州电脑保姆 [ http://yzw.blog.zj.com/ ]
本文链接地址:http://yzw.blog.zj.com/blog/d-168754.html

相关文章
文章评论0条回复
给文章评分
评分: -5 -3 -1 - +1 +3 +5
我来说两句
认证码* 看不清,就点我! 输入四位字母或数字
(您还没有登录,登录发表)
粗体 斜体 下划线 插入url链接 飞行字 移动字