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

📄 tree.js

📁 花钱买的毕业设计。企业网络管理系统
💻 JS
字号:
var cTreeHTMLBeforeNode = "<table id=\"?id?\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td>?text?</td></tr><tr><td>";
var cTreeNodeHTMLBeforeNode = "<table id=\"?id?\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=\"15\" class=\"?Last??End?\"></td><td>?text?</td></tr><tr style=\"display:none;\"><td width=\"15\" background=\""+System.Path()+"v_line.gif\"></td><td >";
var cHTMLAfterNode = "</td></tr></table>";

var NS4 = (document.layers) ? 1 : 0;
var IE4 = (document.all) ? 1 : 0;
var ver4 = (NS4 || IE4) ? 1 : 0;

function TreeView(id,text,hint,oncontextmenu)
{
	this.Id = id;
	this.Text = text;
	this.Hint = hint;
	if(typeof(oncontextmenu)!="undefined")
		this.OnContextMenu = oncontextmenu;
	else
		this.OnContextMenu = null;
	this.Nodes = [];
	this.HTMLBeforeNode = function()
	{
		return cTreeHTMLBeforeNode.replace("?id?",id).replace("?text?",text);
	}
	this.AddNode = function(aTreeNode)
	{
		var len = this.Nodes.length;
		if(len>0)
			this.Nodes[len-1].IsLast = false;
		this.Nodes[len] = aTreeNode;
		aTreeNode.NodeLevel = 1;
	}
	this.Add = function(id,text,hint,tag,onclick)
	{
		this.AddNode(new TreeNode(id,text,hint,tag,onclick));
	}
	this.AddPath = function(path)
	{
		var arr,i,l,node_id,node_text,str_node,str_path
		arr = path.split("/");
		l = arr.length;
		str_node = "this";
		str_path = "";
		for(i=0;i<l;i++)
		{
			node_id = "tn_" + arr[i];
			node_text = arr[i];
			str_path += node_text + "/";
			if(eval(str_node).Node(node_id)==null)
				eval(str_node).Add(node_id,node_text,"",str_path);
			//else
			//	this.Node(node_id).AddPath();
			str_node += ".Node(\"" + node_id + "\")"
			//to be continued
		}
	}
	this.FindNode = function(id)
	{
		var node;
		for(i=0;i<this.Nodes.length;i++)
			//if(this.Nodes[i].Id==id)
				//this.Nodes[i].FindNode(id);
			//else
				//this.Nodes[i].FindNode(id);
		return ;
	}
	this.Node = function(id)
	{
		for(i=0;i<this.Nodes.length;i++)
			if(this.Nodes[i].Id==id)
				return this.Nodes[i];
		return null;
	}
	this.WriteHTML = function()
	{
		var i;
		document.write(this.HTMLBeforeNode());
		for(i=0;i<this.Nodes.length;i++)
			this.Nodes[i].WriteHTML();
			//TreeNodeWriteHTML(this.Nodes[i]);
		document.write(cHTMLAfterNode);
	}
	this.UpdateHTML = function()
	{
		var ctl = document.all(this.Id);
		ctl.onclick = TreeNodeOnClick;
		ctl.onmouseover = TreeNodeOnMouseOver;
		ctl.onmouseout = TreeNodeOnMouseOut;
		ctl.oncontextmenu = this.OnContextMenu;
		var i;
		for(i=0;i<this.Nodes.length;i++)
			this.Nodes[i].UpdateHTML();
	}
}

function TreeNode(id,text,hint,tag,onclick)
{
	this.Nodes = [];
	this.Id = id;
	this.Text = text;
	this.Hint = hint;
	this.Tag = tag;
	this.NodeLevel = 0;
	if(typeof(onclick)=="undefined")
		this.OnClick = null/*TreeNodeOnClick*/;
	else
		this.OnClick = onclick;
	this.OnMouseOver = null/*TreeNodeOnMouseOver*/;
	this.OnMouseOut = null/*TreeNodeOnMouseOut*/;
	this.OnContextMenu = null;
	this.IsEnd = true;
	this.IsLast = true;
	this.AddNode = function(aTreeNode)
	{
		var len = this.Nodes.length;
		this.IsEnd = false;
		if(len>0)
			this.Nodes[len-1].IsLast = false;
		//aTreeNode.IsLast = true;
		this.Nodes[len] = aTreeNode;
		aTreeNode.NodeLevel = this.NodeLevel +1;
	}
	this.Add = function(id,text,hint,tag,onclick)
	{
		this.AddNode(new TreeNode(id,text,hint,tag,onclick));
	}
	this.Remove = function(id,text)
	{
		if(this.Nodes.length>0)
		{
			this.Nodes.length = this.Nodes.length-1;
			if(this.Nodes.length==0)
				this.IsEnd = true;
		}
	}
	this.Clear = function()
	{
		this.Node.length = 0;
		this.IsEnd = true;
	}
	this.HTMLBeforeNode = function()
	{
		var str_res = cTreeNodeHTMLBeforeNode.replace("?id?",id).replace("?text?",text);
		if(this.IsLast)
		{
			str_res = str_res.replace("?Last?","Last");
			str_res = str_res.replace("<td width=\"15\" background=\""+System.Path()+"v_line.gif\">","<td width=\"15\">");
		}
		else
			str_res = str_res.replace("?Last?","Mid");
		if(this.IsEnd)
			str_res = str_res.replace("?End?","End");
		else
			str_res = str_res.replace("?End?","Collapse");
		return str_res;
	}
	this.Node = function(id)
	{
		for(i=0;i<this.Nodes.length;i++)
			if(this.Nodes[i].Id==id)
				return this.Nodes[i];
		return null;
	}
	this.FindNode = function(id,aTreeNode)
	{
		if(typeof(aTreeNode == "undefined"))
			aTreeNode = this;
		for(i=0;i<aTreeNode.Nodes.length;i++)
			if(aTreeNode.Nodes[i].Id==id)
				return aTreeNode.Nodes[i];
			else
				FindNode(id,aTreeNode.Nodes[i]);
		return null;
	}
	this.WriteHTML = function(aTreeNode)
	{
		var i;
		if(typeof(aTreeNode)=="undefined")
			aTreeNode = this;
		document.write(aTreeNode.HTMLBeforeNode());
		if(aTreeNode.Nodes.length>0)
			for(i=0;i<aTreeNode.Nodes.length;i++)
				TreeNodeWriteHTML(aTreeNode.Nodes[i]);
		document.write(cHTMLAfterNode);
	}
	this.UpdateHTML = function()
	{
		var ctl = document.all(this.Id);
		ctl.onclick = this.OnClick;
		ctl.onmouseover = this.OnMouseOver;
		ctl.onmouseout = this.OnMouseOut;
		ctl.oncontextmenu = this.OnContextMenu;
		ctl.title = this.Hint;
		ctl.tag = this.Tag;
		ctl.nodelevel = this.NodeLevel;
		var i;
		for(i=0;i<this.Nodes.length;i++)
			this.Nodes[i].UpdateHTML();
	}
}

function TreeNodeWriteHTML(aTreeNode)
{
	var i;
	document.write(aTreeNode.HTMLBeforeNode());
	if(aTreeNode.Nodes.length>0)
		for(i=0;i<aTreeNode.Nodes.length;i++)
			TreeNodeWriteHTML(aTreeNode.Nodes[i]);
	document.write(cHTMLAfterNode);
}

function TreeNodeOnClick()
{
	if(typeof(window.event.srcElement.parentElement.parentElement.parentElement.nodelevel) == "undefined")
		return;
	var ctl_tn,chld_container,str_clsname;
	if (!ver4) return;
	if (IE4) 
	{
		//get treenode
		ctl_tn = window.event.srcElement.parentElement.parentElement.parentElement;
		//get first <td>'s className of treenode
		str_clsname = ctl_tn.childNodes[0].childNodes[0].childNodes[0].className;
		if(str_clsname.indexOf("End")<0)
			if(str_clsname.indexOf("Open")>0)
				ctl_tn.childNodes[0].childNodes[0].childNodes[0].className = str_clsname.replace("Open","Collapse");
			else
				ctl_tn.childNodes[0].childNodes[0].childNodes[0].className = str_clsname.replace("Collapse","Open");
		chld_container = ctl_tn.childNodes[0].childNodes[1];
		//if the event node is the end of the tree do nothing
		if(chld_container.childNodes[1].innerHTML!="")
			//switch display of child node
			if (chld_container.style.display == "none") 
				chld_container.style.display = "block";
			else 
				chld_container.style.display = "none";
		//add your operation here
		//window.open("list.asp?dir=" + ctl_tn.tag,"main_frame");
	}
	//return ;
/******************************************************************************
	else 
	{
		whichEl = eval("document." + el + "Child");
		for(i=1;i<=numTotal;i++)
		{
			whichEl = eval("document." + scores[i] + "Child");
			if(whichEl!=whichEl1) 
				whichEl.visibility = "hide";
		}
		if (whichEl.visibility == "hide") 
			whichEl.visibility = "show";
		else 
			whichEl.visibility = "hide";
		arrange();
	}
/******************************************************************************/
}
function TreeNodeOnMouseOver()
{
	if (!ver4) return;
/******************************************************************************
if (IE4) 
	{
/******************************************************************************/
if(typeof(window.event.srcElement.parentElement.parentElement.parentElement.nodelevel) == "undefined")
	return;
window.event.cancelBubble = true;
window.event.srcElement.parentElement.childNodes[1].className = "MouseOver";
window.event.srcElement.parentElement.childNodes[1].style.cursor = "default";
/******************************************************************************
	}
else 
	{
	}
/******************************************************************************/
}
function TreeNodeOnMouseOut()
{
	if (!ver4) return;
/******************************************************************************
if (IE4) 
	{
/******************************************************************************/
if(typeof(window.event.srcElement.parentElement.parentElement.parentElement.nodelevel) == "undefined")
	return;
window.event.cancelBubble = true;
window.event.srcElement.parentElement.childNodes[1].className = "MouseOut";
window.event.srcElement.parentElement.childNodes[1].style.cursor = "auto";
/******************************************************************************
	}
else 
	{
	}
/******************************************************************************/
}

⌨️ 快捷键说明

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