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

📄 tree.js

📁 该系统对jsp进行了初级编程 实现了ajax下的部门人才管理
💻 JS
字号:
// JavaScript Document
/******************************************************************************
*函数意义:
	menu				:生成树代码 ;
	itemExists			:判断是否有childer;
	chengstate			:切换节点状态(open/close);
	objExists			:验证对象是否存在 ;
	saveCookie			:执行保存Cookie ;
	getCookie			:执行读取Cookie ;
	checkCookieExist	:验证Cookie是否存在 ;
	deleteCookie		:删除Cookie ;
*作    者:于恩水
*联系方式:
	QQ:			46163020
	msn:		yuenshui@hotmail.com
	Email:		woaini4651@yahoo.com.cn
	支持网站:	www.yemaweb.com
	如有问题,请与作者联系!!!
*最后修改:2004年12月28日
*修改次数:1
*制作日期:2004年7月14日
*备    注:此程序为免费使用的代码,可以由任何人用作任何合法的用途。
			对于代码所造成的任何损失,作者不负任何责任。
			在使用过程中不能修改和删除此注释信息,否则将追究侵犯版权的法律责任。
			如果侵犯版权将被以法律允许的最大限度的起诉。
**********************************************   一下为修改 版本修改信息
2004年12月28日
v2.0.3
非叶子节点的连接也有效,此设置如果需要可以直接覆盖js文件;
增加层次线的双击事件,双击将会将该节点收缩,便于浏览大量数据

2004年12月09日
v2.0.1
修改记录的节点有时出错的bug


2004年10月15日 
v2.0 
更加个性化图标功能;
改善添加菜单的操作步骤;
增加全部展开,全部折叠功能;
*******************************************************************************/
treedata	= new Array();
path		= "";
function treemenu(tree_path,tree_name,tree_ico,url,target)
{
	path	= tree_path;
	name	= tree_name;
	ico	= tree_ico;
	
	if(url!="" && url!=null)
		document.write("<div><img src='"+path+ico+"' align=top border=0><a style='font-size:15px;font-weight:bold' href='"+url+"' target='"+target+"'>"+name+"</a></div>");
	else
		document.write("<div style='font-size:15px;font-weight:bold'><img src='"+path+ico+"' align=top border=0>"+name+"</div>");

}//end function treemenu
//                 0 id      1 父id      2  名称    3  地址   4  关闭图标    5 打开图标     6 指向窗口
function add_item(tree_id,tree_prarent,tree_name,tree_close_ico,tree_open_ico,tree_url,tree_target)
{
	if(tree_close_ico=="")
		tree_close_ico="close.gif";
	if(tree_open_ico=="")
		tree_open_ico="open.gif";
	//                                       0 id      1 父id      2  名称    3  地址   4  关闭图标    5 打开图标     6 指向窗口
	treedata[treedata.length]	= new Array(tree_id,tree_prarent,tree_name,tree_url,tree_close_ico,tree_open_ico,tree_target);
}//end function add_item

function menu(id)						//画菜单
{
	var currdata	= new Array();
	var i			= 0;
	var printstr	= "<table border='0' cellspacing='0' cellpadding='0'>\n";
	var listtype	= "";
	var menutype	= "";
	
	for(; i<treedata.length; i++)
	{					//判断有无此节点
		if(treedata[i][1]==id)	currdata[currdata.length] = treedata[i];
	}//end for	
	
	
	for(var i=0; i<currdata.length; i++)
	{					//遍历数组,执行判断
		if(itemExists(currdata[i][0]))
		{						//判断是否有子节点
			if(i==currdata.length-1)
			{			// 最后一个
				menutype	= "menu3";
				listtype	= "list1";
			}
			else
			{
				menutype	= "menu1";
				listtype	= "list";
			}//end if
			onmouseup	= "chengstate('"+currdata[i][0]+"')";
		}
		else
		{					//没有子节点
			if(i==currdata.length-1)
			{			// 最后一个
				menutype	= "file1";
			}
			else
			{
				menutype	= "file";
			}//end if
			onmouseup	= "";
		}//end if

		if(currdata[i][3]!="" && currdata[i][3]!=null)
		{
			menuname	= "<a href='"+currdata[i][3]+"' target='"+currdata[i][6]+"'>"+currdata[i][2]+"</a>";
		}
		else
		{
			menuname	= currdata[i][2];
		}//end if

		ico			= "<img src='"+path+currdata[i][4]+"' id='ico"+currdata[i][0]+"' align=middle border=0>";
		printstr	+= "<tr><td id='pr"+currdata[i][0]+"' valign=middle class="+menutype+" onMouseUp="+onmouseup+">"+ico+"<span onMouseOver='over_str(this)' valign='bottom' onMouseOut='out_str(this)' class='item'> "+menuname+" </span> </td></tr>\n";
		printstr	+= "<tr id='item"+currdata[i][0]+"' ondblclick='chengstatedbl(\""+currdata[i][0]+"\")' style='display:none'><td class="+listtype+">"+menu(currdata[i][0])+"</td></tr>\n";

	}//end for
	printstr	+= "</table>\n";
	
	return printstr;
}//end function menu

function itemExists(id)
{
	for(var i=0;i<treedata.length;i++)
	{
		if(treedata[i][1]==id)return true;
	}//end for
	return false;
}//end function itemExists

function closeAll()
{											// 所有节点全部折叠
	var len	= treedata.length;
	for(var i=0; i<len; i++)
	{					//遍历数组,执行判断
		obj		= eval("pr"+treedata[i][0]);
		if(obj.className == "menu2" || obj.className == "menu4")
		{						//判断是否有子节点
			chengstate(treedata[i][0]);
		}//end if
	}//end for
	
}//end function closeAll

function openAll()
{											// 所有节点全部展开
	var len	= treedata.length;
	for(var i=0; i<len; i++)
	{					//遍历数组,执行判断
		obj		= eval("pr"+treedata[i][0]);
		if(obj.className == "menu1" || obj.className == "menu3")
		{						//判断是否有子节点
			chengstate(treedata[i][0]);
		}//end if
	}//end for
}//end function openAll

function over_str(obj)
{
	obj.style.background	= "#EEEEEE";
	obj.style.border		= "1px solid #999999";
}//end function over

function out_str(obj)
{
	obj.style.background	= "";
	obj.style.border		= "1px solid #FFFFFF";
}//end function out

function chengstatedbl(id)
{
	chengstate(id,true);
	event.cancelBubble = true;
}//end function chengstatedbl

function chengstate(menuid,save)
{											//切换节点的开放/关闭
	//alert("menuid:"+menuid+"save:"+save);
	menuobj	= eval("item"+menuid);
	obj		= eval("pr"+menuid);
	ico		= eval("ico"+menuid);
	var len	= treedata.length;
	for(var i=0; i<len; i++)
	{
		if(treedata[i][0]==menuid)
		{
			break;
		}//end if
	}//end for
	
	if(menuobj.style.display == '')
	{
		menuobj.style.display	= 'none';
		ico.src					= path+treedata[i][4];
	}else{
		menuobj.style.display	= '';
		ico.src					= path+treedata[i][5];
	}//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
 }//end funciton chengstaut

⌨️ 快捷键说明

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