⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treedata.js

📁 struts+spring+jdbc权限管理 菜单树实现
💻 JS
字号:
/*
*	Author				: yaoyi
*	Date				: 2008/10/27
*	Description			: 操作菜单元素
*
*/
var allElement = new Array();
var nextPosition = 0;

/************树结构***************/
function   TreeItem(id,txt)   
{   
		this.mId	= id;
        this.text   =   txt;   
        this.childNodes   =   new   Array();   
        this.parentNode   =   null;   
}   
    
TreeItem.prototype.add   =   function(node)   
{   
       node.parentNode   =   this;   
       this.childNodes[this.childNodes.length]   =   node; 
	   addElement(node.mId);
}   
  /************树结构***************/   
    
//添加对象元素
function addElement(id){
	allElement[nextPosition]=id;
	nextPosition += 1;
}

//增加数据空间
function addLen(){
	var newElement = new Array(length+buchang);
	for(var i = 0 ; i<allElement.length;i++){
		newElement[i]=allElement[i];
	}
}

//打开菜单
function showOn(node){
	for(var i = 0 ; i<allElement.length;i++){//遍历关闭所有菜单
		var menuId = allElement[i];
		var menuNode = document.getElementById(menuId);
		var img	= document.getElementById("i"+menuId);
		var img1 =document.getElementById("im"+menuId);
		if(menuNode != null){
			if(img != null){
				img.src="Tplus.png";
				//img1.src="foldericon.png";
			}
			menuNode.style.display = "none";
		}
	}
	//遍历找子菜单
	var childNode = findChild(tree0,node)
	//打开需要打开的菜单
	showParent(childNode);
}

//遍历树找到相应节点
function   findChild(node,id)   
{    
				  var r = null;
                  for(var   i=0;   i<node.childNodes.length;   i++)   
                  {   
                          var   treeNode   =   node.childNodes[i];  
						  
						  if(treeNode.mId == id)   
						  {   
                                   r = treeNode;
								   break;
						  }else{
								   r = findChild(treeNode,id);
								   if(r != null){
									 break;
								   }
						  }
                  }    
				  return r;
}   

//打开父节点
function showParent(node){
	var id = node.mId;
	var treeN = document.getElementById(id);
	var img	= document.getElementById("i"+id);
	var img1	= document.getElementById("im"+id);
	if(treeN != null){
		if(img != null){
				img.src="Tminus.png";
				//img1.src="openfoldericon.png";
		}
		treeN.style.display = "";
		showParent(node.parentNode);
	}
}




//显示一
/**********以下是应用*************/   
  TreeItem.prototype.toString   =   function()   
  {   
          var   sumStr   =   "<TABLE class=Border height='100%' bgcolor='#ecfcfe' cellSpacing=0 cellPadding=0 width='100%' border='0'>";   
		  sumStr += "<tr><td align='left' valign='top'>";
          if(this.childNodes.length   >   0)   
          {   
                  //sumStr   +=   this.text   +   "<br>";   
                  sumStr   +=   getChild(this); 
          }   
          else
		  {  
                  sumStr   +=   this.text ;  
		  }
    
          function   getChild(node)   
          {   
                  var   str   =   "<TABLE class=Border cellSpacing=0 cellPadding=0 width='100%' border='0'>";   
                  for(var   i=0;   i<node.childNodes.length;   i++)   
                  {   
                          var   treeNode   =   node.childNodes[i];  
						  
						  if(treeNode.childNodes.length   >   0)   
						  {   
							      str	+=	 "<tr><td width='19' style=\"CURSOR: pointer\" onclick=\"javascript:showOn('"+treeNode.mId+"');\"><IMG id='i"+treeNode.mId+"' src='Tplus.png'></td><td width='19'><IMG id='im"+treeNode.mId+"' src='foldericon.png'></td><td width='100%' align='left'>"; 
                                  str   +=   ""+treeNode.text +"";
								  str	+=	 "</td></tr>";
								  str	+=	 "<tr id='"+treeNode.mId+"' style='DISPLAY: none'><td width='19' style='background-image:url(I.png)'></td> <td width='19'></td><td width='100%' align='left'>";
                                  str   +=   getChild(treeNode); 
								  str	+=	 "</td></tr>";
						  }   
						  else{   
                                  str	+=	 "<tr><td width='19'><IMG src='cd.gif'></td><td width='100%' align='left' colspan='2'>"; 
                                  str   +=   treeNode.text;
								  str	+=	 "</td></tr>";
						  }
                  }   
				  str += "</table>";
                  return   str;   
          }       
		  sumStr += "</td></tr></table>";
          return   sumStr;   
  } 

  //显示三
   TreeItem.prototype.menuShow   =   function()   
  {   
          var   sumStr   =   "<TABLE class=Border height='100%' bgcolor='#ecfcfe' cellSpacing=0 cellPadding=0 width='100%' border='0'>";   
		  sumStr += "<tr><td align='left' valign='top'>";
          if(this.childNodes.length   >   0)   
          {   
                  //sumStr   +=   this.text   +   "<br>";   
                  sumStr   +=   getChild(this); 
          }   
          else
		  {  
                  sumStr   +=   this.text ;  
		  }
    
          function   getChild(node)   
          {   
                  var   str   =   "<TABLE class=Border cellSpacing=0 cellPadding=0 width='100%' border='0'>";   
                  for(var   i=0;   i<node.childNodes.length;   i++)   
                  {   
                          var   treeNode   =   node.childNodes[i];  
						  
						  if(treeNode.childNodes.length   >   0)   
						  {   
							      str	+=	 "<tr><td width='19' style=\"CURSOR: pointer\" onclick=\"javascript:showOn('"+treeNode.mId+"');\"><IMG id='i"+treeNode.mId+"' src='Tplus.png'></td><td width='100%' align='left'>"; 
                                  str   +=   ""+treeNode.text +"";
								  str	+=	 "</td></tr>";
								  str	+=	 "<tr id='"+treeNode.mId+"' style='DISPLAY: none'><td width='19' style='background-image:url(I.png)'></td><td width='100%' align='left'>";
                                  str   +=   getChild(treeNode); 
								  str	+=	 "</td></tr>";
						  }   
						  else{   
                                  str	+=	 "<tr><td width='19'><IMG src='cd.gif'></td><td width='100%' align='left' colspan='2'>"; 
                                  str   +=   treeNode.text;
								  str	+=	 "</td></tr>";
						  }
                  }   
				  str += "</table>";
                  return   str;   
          }       
		  sumStr += "</td></tr></table>";
          return   sumStr;   
  } 

  //显示二
/**********以下是应用*************/   
  TreeItem.prototype.shwoMenu   =   function()   
  {   
          var   sumStr   =   "";   
          if(this.childNodes.length   >   0)   
          {   
                  sumStr   +=   this.text   +   "<br>";   
                  sumStr   +=   getChild(this);   
          }   
          else   
                  sumStr   +=   this.text   +   "<br>";   
    
          function   getChild(node)   
          {   
                  var   str   =   "";   
                  for(var   i=0;   i<node.childNodes.length;   i++)   
                  {   
                          var   treeNode   =   node.childNodes[i];   
                          var   level   =   getParentLevel(treeNode);   
                          var   blankStr   =   makeBlank(level);   
                          if(treeNode.childNodes.length   >   0)   
                          {   
                                  str   +=   blankStr   +   treeNode.text   +   "<br>";   
                                  str   +=   getChild(treeNode);   
                          }   
                          else   
                                  str   +=   blankStr   +   treeNode.text   +   "<br>";   
                  }   
                  return   str;   
          }   
    
          function   getParentLevel(node)   
          {   
                  var   i=0;   
                  var   pNode   =   node.parentNode;   
                  while(pNode   !=   null)   
                  {   
                          i++;   
                          pNode   =   pNode.parentNode;   
                  }   
                  return   i;   
          }   
    
          function   makeBlank(level)   
          {   
                  var   str   =   "";   
                  for(var   i=0;   i<level;   i++)   
                          str   +=   "&nbsp;&nbsp;";   
                  return   str;   
          }   
    
          return   sumStr;   
  } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -