亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tree_level_1.js

?? 選擇和管理有價值客戶及其關系的一種商業策略
?? JS
?? 第 1 頁 / 共 2 頁
字號:
/**
 * 使用方法:
		1.生成一個新的樹對象	var tree = new tree();
		2.生成一個新的根對象	var root = new root(1,"根目錄","#","");
		3.為樹對象添加根對象	tree.addRoot(root);
		4.為樹對象添加節點,節點的順序應該按id先后來排列
		5.畫出根對象	tree.drawRoot();
		6.畫出整個樹	tree.drawNodes(tree.root);
	例子:
		<HTML>
		<HEAD>
		<TITLE> New Document </TITLE>
		<META NAME="Generator" CONTENT="EditPlus">
		<META NAME="Author" CONTENT="">
		<META NAME="Keywords" CONTENT="">
		<META NAME="Description" CONTENT="">
		<script src="FKtree.js"></script>
		</HEAD>

		<BODY>
		<script type="text/javascript">
		var tree = new tree();
		var root = new root(1,"根目錄","#","");
		tree.addRoot(root);
		tree.addNode(new node(2,"第一層目錄a",1,"folder","#",""));
		tree.addNode(new node(4,"第二層目錄***",2,"folder","#",""));
		tree.addNode(new node(6,"第三層目錄",4,"folder","#",""));
		tree.addNode(new node(7,"第一層目錄b",1,"folder","#",""));
		tree.addNode(new node(8,"第一層目錄c",1,"folder","#",""));
		tree.addNode(new node(9,"第二層目錄a",8,"folder","#",""));
		tree.addNode(new node(10,"第三層文件",9,"file","#",""));
		tree.addNode(new node(11,"第四層文件",6,"file","#",""));
		tree.addNode(new node(12,"第三層目錄",4,"folder","#",""));
		tree.addNode(new node(13,"第二層文件",9,"file","#",""));
		tree.addNode(new node(14,"第三層文件",7,"file","#",""));
		tree.addNode(new node(15,"第三層文件",8,"file","#",""));
		tree.addNode(new node(16,"第三層文件",4,"file","#",""));
		tree.addNode(new node(17,"第三層文件",2,"file","#",""));
		tree.addNode(new node(18,"第三層文件",1,"file","#",""));
		tree.addNode(new node(19,"第三層文件",9,"file","#",""));
		tree.drawRoot();
		tree.drawNodes(tree.root);
		</script>
		</BODY>
		</HTML>



/*******************************************設置公共的圖片變量開始**************************************************/

/** 圖片所在目錄 	*///~~
	imageDir = "/framework_ext/framework/public/images";
/** 文件節點的圖片 *///~~
	img_file = imageDir+"/close.gif";
/** 關閉的目錄的圖片 *///~~
	img_folder_close = imageDir+"/close.gif";
/** 在中間的加號的圖片	*///~~
	img_plus = imageDir+"/plusnode.gif";
/** 在樹末尾的加號的圖片 *///~~
	img_plus_last = imageDir+"/pluslastnode.gif";
/** 打開的目錄的圖片 *///~~
	img_folder_open = imageDir+"/open.gif";
/** 在樹末尾的減號的圖片 *///~~
	img_minus_last = imageDir+"/minuslastnode.gif";
/** 在中間的減號的圖片	*///~~
	img_minus = imageDir+"/minusnode.gif";
/** 無節點線條的圖片 *///~~
	img_line = imageDir+"/line.gif";
/** 最后節點的線條圖片	*///~~
	img_line_last = imageDir+"/lastnode.gif";
/** 中間節點的線條圖片	*///~~
	img_line_mid = imageDir+"/node.gif";
/** 空白區域的圖片 *///~~
	img_blank = imageDir+"/blank.gif";


/*******************************************設置公共的圖片變量結束**************************************************/
function setImageFiles() {
/** 文件節點的圖片 *///~~
	img_file = imageDir+"/file.gif";
/** 關閉的目錄的圖片 *///~~
	img_folder_close = imageDir+"/close.gif";
/** 在中間的加號的圖片	*///~~
	img_plus = imageDir+"/plusnode.gif";
/** 在樹末尾的加號的圖片 *///~~
	img_plus_last = imageDir+"/pluslastnode.gif";
/** 打開的目錄的圖片 *///~~
	img_folder_open = imageDir+"/open.gif";
/** 在樹末尾的減號的圖片 *///~~
	img_minus_last = imageDir+"/minuslastnode.gif";
/** 在中間的減號的圖片	*///~~
	img_minus = imageDir+"/minusnode.gif";
/** 無節點線條的圖片 *///~~
	img_line = imageDir+"/line.gif";
/** 最后節點的線條圖片	*///~~
	img_line_last = imageDir+"/lastnode.gif";
/** 中間節點的線條圖片	*///~~
	img_line_mid = imageDir+"/node.gif";
/** 空白區域的圖片 *///~~
	img_blank = imageDir+"/blank.gif";
}


function tree() {

/** 根節點 *///~~
	this.root = null;
/** 節點個數 *///~~
	this.length = 0;
/** 節點數組 *///~~
	this.nodes = new Array();
/** 兄弟節點數組 *///~~
        this.brothers = new Array();
/** 孩子節點數組 *///~~liuhr
        this.childrens = new Array();
/** 添加根節點 *///~~
	this.addRoot = addRoot;
/** 添加節點 *///~~
	this.addNode = addNode;

/** 畫出根節點 *///~~
	this.drawRoot = drawRoot;
/** 畫出根節點(分層展示) *///~~
	this.drawRootLevel = drawRootLevel;
		
/** 畫出節點前的空白圖片或連接線圖片 *///~~
	this.drawFrontLine = drawFrontLine;
/** 畫出節點 *///~~
	this.drawNode = drawNode;
/** 畫出節點(分層展示) *///~~
	this.drawNodeLevel = drawNodeLevel;	
	
/** 畫出符合查詢條件的第一個節點 *///~~
	this.drawFirstSearchNode = drawFirstSearchNode;	
	
/** 畫出所有節點 *///~~
	this.drawNodes = drawNodes;
/** 畫出所有節點(分層展示) *///~~
	this.drawNodesLevel = drawNodesLevel;	

/** 初始載入頁面后,自動展開第一級子目錄(分層展示) *///~~	
	this.clickOnFolderLevelInf = clickOnFolderLevelInf;

/** 展開符合查詢條件的目錄樹  *///~~	
	this.searchFolder = searchFolder;
	
/** 得到節點的父節點 *///~~
	this.getParent = getParent;	
/** 由當前節點Id得到父節點Id *///~~
	this.getParentId = getParentId;	
/** 由當前節點Id得到子節點Id *///~~liuhr
	this.getChildId = getChildId;
	this.addChildId = addChildId;
/** 添加節點時,將同一層的其他節點的isLast屬性設置為false *///~~
	this.setOtherIsLast = setOtherIsLast;
	
/** 第一個符合查詢條件的節點Id  *///~~
  this.firstSearchNodeId="";	
  
}

/**
 * 根節點對象
 * @param id 根節點的id號
 * @param name 根節點名稱,顯示在頁面的連接的名字
 * @param url 鏈接
 * @param target 指示鏈接的目標頁面
*/
function root(id,name,orgname,code) {
	this.id = id;
	this.name = name;
	this.parentId = null;
	this.type = "root";
	this.orgname = orgname;
	this.code = code;
}

function addRoot(root) {
	this.root = root;
	this.length = 1;
	this.nodes[0] = root;
}

/**
 * 節點對象
 * @param id 節點id號
 * @param name 節點名稱,顯示在頁面上的鏈接的名字
 * @param parentId 父節點id號
 * @param type 節點的類型(folder|file)
 * @param url 節點的鏈接
 * @param target 節點鏈接的目標頁面
*///~~

function node(id,name,parentId,type,orgname,code) {
	/** 節點id號 *///~~
	this.id = id;
	/** 節點名稱,顯示在頁面上的鏈接的名字 *///~~
	this.name =name;
	/** 父節點id號 *///~~
	this.parentId = parentId;
	/** 節點的類型(folder|file) *///~~
	this.type = type;
	/** 節點的鏈接 *///~~
	this.orgname = orgname;
	/** 節點鏈接的目標頁面 *///~~
	this.code = code;


	/** 節點的圖片(目錄或文件等) *///~~
	this.image = "";
	/** 節點的前導圖片(加號或減號或線條等) *///~~
	this.fImage = "";
	/** 是否是同層中最后節點 *///~~
	this.isLast = false;
}

/** 判斷一個節點是否有父節點,如果有則返回其父節點,如果沒有返回null */
function getParent(node) {
	for (var i=0;i<this.length;i++)
	{
		if (this.nodes[i].id == node.parentId)
		{
			return this.nodes[i];
		}
	}
	return null;
}

/** 返回當前節點Id的父節點Id,如果沒有返回null 
 * add by yancj 2004.2.10
 */
function getParentId(nodeId) {
	for (var i=0;i<this.length;i++)
	{
		if (this.nodes[i].id == nodeId)
		{
			return this.nodes[i].parentId;
		}
	}
	return null;
}
/*
返回當前節點的子節點liuhr
*/
 var chN;
function getChildId(nodeId) {
   

	for (var i=0;i<this.length;i ++)
	{
		if ("Ck"+this.nodes[i].parentId == nodeId)
		{
			tree.childrens[chN++] = "Ck"+this.nodes[i].id;
			//alert("Ck"+this.nodes[i].id);
			tree.getChildId("Ck"+this.nodes[i].id)
			
		}

	}

}
/** 當添加一個新節點后,將與它處在同一層的其它元素的isLast標志設置為false */
function setOtherIsLast(node) {
	for (var i=1;i<this.length;i++) //i=1,表示不包括根節點在內的循環
	{
		if (this.nodes[i].parentId == node.parentId && this.nodes[i].isLast) //如果找到父節點相同的,并且isLast為true的節點
		{
			this.nodes[i].isLast = false; //設置該節點的isLast為false
			if (this.nodes[i].type == "folder") //設置圖片為非末節點圖片
			{
				this.nodes[i].fImage = img_plus;
			} else {
				this.nodes[i].fImage = img_line_mid;
			}
			return true;
		}
	}
	return false;
}

/** 為樹的節點組nodes[]添加一個新的節點 */
function addNode(node) {
	if (this.getParent(node) != null) //如果有父節點
	{
		this.setOtherIsLast(node); //設置同層中的其他元素為非末節點
		node.isLast = true; //設置本節點為末節點
		if (node.type == "folder") //根據節點類型設置圖片
			{
				node.image = img_folder_close;
				node.fImage = img_plus_last;
			} else {
				node.image = img_file;
				node.fImage = img_line_last;
			}
		this.nodes[this.length] = node; //添加該節點到樹的節點組nodes[]
		this.length++; //節點數加1
	} else {
		// alert("沒有找到該節點的父節點,這是一個非法節點!");
	}
}

/** 畫出根節點 */
function drawRoot() {
	
	strTree += "<table border='0' cellspacing='0' cellpadding='0'>";
	strTree += "<tr><td>";
	strTree += "<a onFocus='this.blur()' href='#' ><img border='0' src='"+img_folder_close+"'></a>";
	strTree += "</td><td valign='middle' style='FONT-SIZE: 12px'>";
	strTree += this.root.name;
	strTree += "</td></tr>";
	strTree += "</table>";
}

/** 畫出根節點(分級展示方式) 
 * add by yancj 2004.2.9
 */
function drawRootLevel() {
	rStrTree += "<table border='0' cellspacing='0' cellpadding='0'>";
	rStrTree += "<tr ><td>";
	rStrTree += "<a onFocus='this.blur()' href='#' ><img border='0' src='"+img_folder_close+"'></a>";
	rStrTree += "</td><td valign='middle' style='FONT-SIZE: 12px'>";
	rStrTree += this.root.name;
	rStrTree += "</td></tr>";
	rStrTree += "</table>";
}

var strTree = "";
var rStrTree = "";  // 根節點對應html代碼(分層展示)

/***/
/* 通過每個節點img部分的Id來得到其srcIndex,以用于該節點的展開
 modify by yancj 2004-1-5 
*/
var fID = 0;

/** 畫出節點 */
function drawNode(node) {
	strTree += "<table border='0' cellspacing='0' cellpadding='0'>";
	strTree += "<tr ><td id='" + node.id + "'>";
	var fIDid = fID++;
	this.drawFrontLine(node);
	if (node.type == "folder")
	{
		strTree += "<a  onFocus='this.blur()' style='cursor:hand;'><img id='" + (fIDid) + "' border='0' src='"+node.fImage+"'></a>";
		strTree += "<input id='Ck" + node.id + "'  type='checkbox' value='1' ><a onFocus='this.blur()' href='#'><img border='0' src='"+node.image+"'></a>";
		strTree += "</td><td valign='middle'>";
		strTree += "<a onFocus='this.blur()' id='folderLink' href='"+node.orgname+"' target='"+node.code+"' >"+node.name+"</a>";
	} else {
		strTree += "<img border='0' src='"+node.fImage+"'>";
		strTree += "<input id='Ck" + node.id + "' type='checkbox'  value='checkbox'  ><a onFocus='this.blur()' href='"+node.orgname+"' target='"+node.code+"')><img border='0' src='"+node.image+"'></a>";
		strTree += "</td><td valign='middle'>";
		strTree += "<a onFocus='this.blur()'  href='"+node.orgname+"' target='"+node.code+"') >"+node.name+"</a>";
	}
	strTree += "</td></tr>";
	strTree += "</table>";
	
	// 對所有符合查詢條件的節點
	for(i = 0; i < ids.length; i++) {
		if (ids[i] == node.id) {	
			// 將該節點img對應的Id寫到數組里去,當頁面節點樹建立后,對所有符合條件的節點展開			 
			srcids[idx++] = fIDid;
		}
	}
}


/** 畫出節點(分層展示),clickOnFolderLevel事件需要參數,并且實現方式不同
 * add by yancj 2004.2.9
 */
function drawNodeLevel(node) {
	strTree += "<table border='0' cellspacing='0' cellpadding='0'>";
	strTree += "<tr ><td nowrap id='" + node.id + "'>";
	var fIDid = fID++;
	this.drawFrontLine(node);
	if (node.type == "folder")
	{		
    var norgname=node.orgname;
    strTree += "<a onClick=\"clickOnFolderLevel('" +node.id+"','"+node.name+"', '"+node.parentId+"','"+node.type+"','"+norgname+"','"+node.code+"')\"";
		strTree += " onFocus='this.blur()'  href='#'><img id='" + fIDid + "' border='0' src='"+node.fImage+"'></a>";
		strTree += "<a onFocus='this.blur()' href='#'><img border='0' src='"+node.image+"'></a>";
		strTree += "</td><td nowrap valign='middle'>";
		strTree += "<a onFocus='this.blur()' id='folderLink' href='"+node.orgname+"' target='"+node.code+"' >"+node.name+"</a>";
	} else {
		strTree += "<img border='0' src='"+node.fImage+"'>";
		strTree += "<a onFocus='this.blur()' href='"+node.orgname+"' target='"+node.code+"')><img border='0' src='"+node.image+"'></a>";
		strTree += "</td><td nowrap valign='middle'>";
		strTree += "<a onFocus='this.blur()'  href='"+node.orgname+"' target='"+node.code+"') >"+node.name+"</a>";
	}
	strTree += "</td></tr>";
	strTree += "</table>";
	
	levelids[lidx++] = fIDid;
	
	// 對所有符合查詢條件的節點
	for(i = 0; i < ids.length; i++) {
		if (ids[i] == node.id) {
			// alert(node.id);\			
			// 將該節點img對應的Id寫道數組里去,當頁面節點樹建立后,對所有符合條件的節點展開			 
			srcids[idx++] = fIDid;
			// 展開符合條件的節點的父節點
			addParentID(node);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久免费国产精品| 欧美一级片在线| 亚洲欧美自拍偷拍| 在线观看av不卡| 日韩精品久久久久久| 欧美美女一区二区| 成人丝袜18视频在线观看| 日本中文字幕一区二区视频| 日韩在线一区二区三区| 精品国产伦理网| 国产成人午夜精品影院观看视频| 丝袜美腿亚洲色图| 久久综合色之久久综合| 91丨porny丨户外露出| proumb性欧美在线观看| 色综合久久综合网| 欧美裸体一区二区三区| 8v天堂国产在线一区二区| 综合久久国产九一剧情麻豆| 日韩午夜激情视频| 欧美丝袜丝交足nylons| 成人免费看的视频| 蜜臀91精品一区二区三区| 夜夜夜精品看看| 亚洲日本成人在线观看| 国产精品视频一区二区三区不卡| 欧美日韩第一区日日骚| 欧美三级中文字| 欧美熟乱第一页| 精品视频999| 欧美一区二区三区四区在线观看| 欧美综合天天夜夜久久| 在线视频观看一区| 91国偷自产一区二区使用方法| 成人黄色在线视频| 成人毛片视频在线观看| caoporm超碰国产精品| 欧美日韩一区三区四区| 99精品视频一区| 在线观看91精品国产入口| 91亚洲国产成人精品一区二区三 | 午夜精品久久久久| 亚洲va欧美va人人爽午夜| 亚洲午夜电影在线| 日韩国产精品91| 国产精品自拍一区| 欧洲一区在线电影| 国产日韩欧美激情| 亚洲成人自拍网| 国产一二三精品| 欧美亚洲综合久久| 中文一区一区三区高中清不卡| 综合av第一页| 国产一区视频网站| 欧美日韩精品福利| 中文字幕中文乱码欧美一区二区| 香蕉加勒比综合久久| 国产精品一区二区久激情瑜伽| 91猫先生在线| 国产精品成人网| 国产在线日韩欧美| 91精品国产综合久久精品麻豆| 欧美国产日韩一二三区| 视频在线在亚洲| 欧美乱妇一区二区三区不卡视频| 99国产精品视频免费观看| 久久99精品久久久| 欧美中文字幕一区| 伊人开心综合网| 色老头久久综合| 亚洲图片另类小说| 91美女在线视频| 亚洲一区二区在线视频| 欧美午夜不卡视频| 亚洲第一综合色| 制服视频三区第一页精品| 午夜视频一区在线观看| 91精品国产免费| 九九九精品视频| 国产精品久久久久久久裸模| 懂色av一区二区三区免费看| 国产精品色在线观看| 色婷婷久久久综合中文字幕| 亚洲综合激情另类小说区| 在线观看亚洲a| 韩国三级电影一区二区| 国产欧美日韩视频一区二区| 精品午夜久久福利影院 | 麻豆成人久久精品二区三区红 | 国产一区在线看| 国产精品毛片久久久久久久| 91亚洲男人天堂| 日产国产高清一区二区三区| 久久人人97超碰com| 91成人免费网站| 国产高清精品网站| 香蕉加勒比综合久久| 亚洲欧洲日产国产综合网| 欧美精品v日韩精品v韩国精品v| 久久国产精品区| 亚洲黄色av一区| 欧美激情中文不卡| 欧美精品一区二区三区一线天视频| 成人av在线电影| 国产一区二区免费在线| 免费看日韩精品| 亚洲精品成人少妇| 欧美国产精品劲爆| 欧美国产一区在线| 国产日本亚洲高清| 久久精品视频在线看| 欧美大片一区二区| 91精品国产入口| 日韩视频在线你懂得| 欧美日韩在线精品一区二区三区激情 | 欧美一区二区三区色| 理论电影国产精品| 麻豆freexxxx性91精品| 日韩女同互慰一区二区| 欧美人妇做爰xxxⅹ性高电影| 在线观看免费视频综合| 欧美视频在线一区| 精品嫩草影院久久| 国产精品护士白丝一区av| 欧美国产精品一区二区三区| 中文字幕一区二区三区色视频 | 精品一区二区三区免费| 日韩精品欧美精品| 国产综合成人久久大片91| 国产99一区视频免费| 91搞黄在线观看| 欧美xxxxxxxx| 亚洲激情第一区| 国产综合久久久久久鬼色| aa级大片欧美| 精品日韩在线观看| 亚洲日本免费电影| 国内精品不卡在线| 在线成人av网站| 亚洲欧洲国产专区| 国产伦精一区二区三区| 97精品电影院| 久久久精品国产免大香伊| 洋洋成人永久网站入口| 久久91精品久久久久久秒播| 91小视频在线免费看| 久久亚洲精精品中文字幕早川悠里| 亚洲欧洲三级电影| 成人动漫av在线| 久久久影视传媒| 久88久久88久久久| 欧美群妇大交群中文字幕| 亚洲私人黄色宅男| 色综合网色综合| 一区二区三区在线免费| av不卡免费在线观看| 亚洲免费在线电影| 97久久超碰精品国产| 国产精品久线观看视频| 国产成人免费网站| 久久精品欧美一区二区三区不卡| 精品在线观看视频| 久久综合九色综合欧美亚洲| 蜜桃传媒麻豆第一区在线观看| 欧美精三区欧美精三区| 婷婷中文字幕综合| 亚洲精品在线一区二区| 懂色一区二区三区免费观看| 国产精品卡一卡二卡三| 日本韩国精品在线| 性欧美大战久久久久久久久| 555www色欧美视频| 国产不卡视频一区| 亚洲国产裸拍裸体视频在线观看乱了 | 成人激情图片网| 亚洲一区二区四区蜜桃| 日韩三级精品电影久久久| 国产精品亚洲专一区二区三区| 中文字幕成人在线观看| 欧美日韩dvd在线观看| 国产一区 二区| 日韩高清不卡在线| 亚洲欧美偷拍三级| 久久久久久亚洲综合影院红桃| 欧洲色大大久久| av影院午夜一区| 国产精品一线二线三线| 亚洲va天堂va国产va久| 自拍偷拍国产亚洲| 欧美激情一区二区三区四区| 777精品伊人久久久久大香线蕉| 国产激情一区二区三区桃花岛亚洲| 亚洲一二三四在线观看| 亚洲欧洲三级电影| 中文字幕第一区二区| 国产精品无码永久免费888| 欧美变态tickling挠脚心| 欧美一区二区三区思思人| 色婷婷综合久色| 成人99免费视频|