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

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

?? tree.js

?? 電信的網廳的整站代碼
?? JS
?? 第 1 頁 / 共 2 頁
字號:
/***************************************************************************************
 *                               XMLTree2.1
 *     此代碼版權歸海洋工作室ocean所有,您可以非商業目的使用、復制、修改此代碼,但需要
 * 保留本工作室的版權信息。如果您使用、修改此代碼為商業目的,請聯系本工作室取得使用許可。
 * 此腳本的商業許可為RMB30,被許可方除不能分發和轉售之外,可以用于被許可方的任何項目和
 * 產品當中。
 * 如果您對本程序有什么建議,請email to:ocean@forever.net.cn。
 *
 *                                                                          海洋工作室
 *                                                          http://www.oceanstudio.net
 *                                                     ocean(ocean@forever.net.cn) 制作
 *****************************************************************************************/

//XML樹類
function XMLTree(treeName,imgPath) {
	this.id = treeName;
	this.xmlDoc = null;
	this.dblClick = false;    // "true"為允許有雙擊事件,"false"為不允許有雙擊事件,默認為"false"
	this.openAction = false;  //展開節點時的行為,"true"為已展開的節點全部關閉,"false"為已展開的節點全部保持不變.

	this.isOpened = false;	//節點是否是展開的,false-沒有展開
	this.isLoaded = false;	//節點是否是已經加載的。(針對ref型節點)
	this.isSelected = false;	//節點是否被選中

	this.ref = "";			//引用外部的xml路徑
	this.autoRefresh = false;	//是否總是重新加載外部xml(false-不重新加載)

	this.text = "";	//節點的文字
	this.title = "";	//節點的提示

	this.textColor = "#000000";	//節點文字的顏色
	this.overTextColor = "#cccccc";	//節點鼠標放上去時候文字的顏色
	this.selectedTextColor = "white";	//節點被選中后的顏色

	this.backgroundColor = "";	//節點的背景色
	this.overBackgroundColor = "";	//節點鼠標放上去是的背景色
	this.selectedBackgroundColor = "Darkblue";	//節點被選中時候的背景色

	this.underLine = false;		//節點文字是否有下劃線,false-沒有下劃線
	this.overUnderLine = true;	//節點鼠標放上去的時候文字是否有下劃線,false-沒有下劃線
	this.selectedUnderLine = false;	//節點選中的時候文字是否有下劃線

	this.fontSize = "9pt";			//文字大小

	this.paddingLeft = "18px";//左邊縮進
	this.paddingTop = "2px";  //上邊縮進
	this.spaceWidth = "2px";    //圖片和圖片以及文字與圖片之間間距
	this.leafPaddingLeft = "18px";	//2.01:葉子左邊多余縮進

	this.cursor = "hand";		//鼠標的默認形狀

	if ( imgPath == null ) {
		this.openFlag = "../../common/images/openflag.gif";		//節點打開時的第一個圖片(一般是-號)
		this.closeFlag = "../../common/images/closeflag.gif";	//節點關閉時的第一個圖片(一般是+號)
		this.openFolder = "../../common/images/openfolder.gif";	//節點打開時的第二個圖片(一般是一個文件夾的圖片)
		this.closeFolder = "../../common/images/closedfolder.gif";	//節點關閉時的第二個圖片(一般是一個文件夾的圖片)
		this.leafImage = "../../common/images/url.gif";		//葉子節點的圖片
	}
	else {
		this.openFlag = imgPath + "/openflag.gif";		//節點打開時的第一個圖片(一般是-號)
		this.closeFlag = imgPath + "/closeflag.gif";	//節點關閉時的第一個圖片(一般是+號)
		this.openFolder = imgPath + "/openfolder.gif";	//節點打開時的第二個圖片(一般是一個文件夾的圖片)
		this.closeFolder = imgPath + "/closedfolder.gif";	//節點關閉時的第二個圖片(一般是一個文件夾的圖片)
		this.leafImage = imgPath + "/url.gif";		//葉子節點的圖片
	}
	this.href = "";			//節點的url鏈接

	this.selectedNode = null;					//被選中的節點

	this.doc = null;		//節點的文檔對象
	this.menuNode = new Array();		//節點數組:此節點的子菜單中的每一個節點
	this.parent = null;			//節點的父親(為null的話表明這是一個樹根)
	this.root = this;			//節點的根(為null的話表明這是一個樹根)
	this.currentNode = null;	//當前正在使用的節點
}
//外部方法:異步xml讀取數據,數據來自一個xml文件
XMLTree.prototype.load = function (url,container) {
	if (container != null)
		this.doc = container;
	this.xmlDoc = new ActiveXObject("Msxml.DOMDocument");
	this.root.currentNode = this;
	var f = new Function("event",this.root.id+".currentNode.parseTree()");
	this.xmlDoc.onreadystatechange = f;
	this.xmlDoc.load(url);
}

XMLTree.prototype.loadXMLStr = function(xmlStr, container) {
	if (container != null)
		this.doc = container;
	this.xmlDoc = new ActiveXObject("Msxml.DOMDocument");
	this.root.currentNode = this;
	this.xmlDoc.loadXML(xmlStr);

	this.root.currentNode.parseTree();
}

//展開一個節點的下一級子節點
XMLTree.prototype.open = function (nodeId) {
	var node = this.getMenuItem(nodeId);
	if (node == null) node = this;		//如果沒有找到相應的節點,則以自身節點
	if (node.parent == null) return;		//如果節點是根結點,則返回
	var nodeType = node.getType();
	if (nodeType != "leaf") {		//葉子節點不去理會
		if (nodeType == "node")	{	//如果是一個包含字節點的節點
			node.doc.children[1].style.display = "block";
		}
		else {		//如果是引用節點
			if (node.isLoaded) {	//如果節點已經加載,則直接展開
				if (node.doc.children.length >= 2) {
					node.doc.children[1].style.display = "block";
				}
			}
			else {
				node.load(node.ref);		//加載子節點的樹
				node.isLoaded = true;
			}
		}
		//標識節點為打開狀態
		node.isOpened = true;
		node.doc.children[0].rows[0].cells[0].children[0].src = node.openFlag;
		node.doc.children[0].rows[0].cells[1].children[0].src = node.openFolder;
	}
}
//展開一個節點的下一級子節點
XMLTree.prototype.openXmlStr = function (nodeId, xmlStr) {
	var node = this.getMenuItem(nodeId);
	if (node == null) node = this;		//如果沒有找到相應的節點,則以自身節點
	if (node.parent == null) return;		//如果節點是根結點,則返回
	var nodeType = node.getType();
	if (nodeType != "leaf") {		//葉子節點不去理會
		if (xmlStr == null) {	//如果節點已經加載,則直接展開
			if (node.doc.children.length >= 2) {
				node.doc.children[1].style.display = "block";
			}
		}
		else {
			if ( node.isLoaded || nodeType == "node") {
				// add by janage
				// 已經加載,系統刪除原先的節點。
       			var divs = node.doc.all.tags("DIV");
       			for ( var i=0; i<divs.length; i++ ) {
       				divs[i].removeNode(true);
       			}
			}

   			node.menuNode = new Array();
			node.loadXMLStr(xmlStr);		//加載子節點的樹
			
			node.doc.children[1].style.display = "block";
			node.isLoaded = true;
		}

		//標識節點為打開狀態
		node.isOpened = true;
		node.doc.children[0].rows[0].cells[0].children[0].src = node.openFlag;
		node.doc.children[0].rows[0].cells[1].children[0].src = node.openFolder;
	}
	else {
		if ( xmlStr != null && xmlStr.length > 0) {
			node.loadXMLStr(xmlStr);
			
			if ( node.doc.childNodes.length == 1 ) return ;

			// 將葉子節點升為普通的節點。
			var flagNode = node.doc.children(0).rows(0).cells(0);
			var floderNode = node.doc.children(0).rows(0).cells(1);

			var flagImg;
			if ( flagNode.childNodes.length == 0 ) {
				flagImg = document.createElement("img");
				flagNode.appendChild(flagImg);
			}
			else {
				flagImg = document.children(0);
			}
			flagImg.src = node.openFlag;

			var floderImg;
			if ( floderNode.childNodes.length == 0 ) {
				floderImg = document.createElement("img");
				floderNode.appendChild(floderImg);
			}
			else {
				floderImg =  floderNode.children(0);
			}
			floderNode.style.paddingLeft = node.spaceWidth;

			floderImg.src = (node.openFolder==undefined)?( (this.openFolder==undefined)?this.root.openFolder:this.openFolder):node.openFolder;

			node.doc.children(1).style.display = "block";
			node.isLoaded = true;
			//標識節點為打開狀態
			node.isOpened = true;
		}
	}

}

//關閉一個節點的下一級子節點
XMLTree.prototype.close = function (nodeId) {
	var node = this.getMenuItem(nodeId);
	if (node == null) node = this;		//如果沒有找到相應的節點,則以自身節點
	if (node.parent == null) return;		//如果節點是根結點,則返回
	var nodeType = node.getType();
	if (nodeType != "leaf") {		//葉子節點不去理會
		if (nodeType == "node")	{	//如果是一個包含字節點的節點
			if (node.doc.children.length >= 2) {
				node.doc.children[1].style.display = "none";
			}
		}
		else {		//如果是引用節點
			if (node.autoRefresh) {			//如果節點屬于總是加載情況,則刪除掉此節點的子節點
				node.doc.children[1].removeNode(true);
				node.menuNode = new Array();
				node.isLoaded = false;
			}
			else {
				if (node.doc.children.length >= 2) {
					node.doc.children[1].style.display = "none";
				}
			}
		}
		node.isOpened = false;
		node.doc.children[0].rows[0].cells[0].children[0].src = node.closeFlag;
		node.doc.children[0].rows[0].cells[1].children[0].src = node.closeFolder;
	}
}
//選中一個節點
XMLTree.prototype.selected = function (nodeId) {
	var node = this.getMenuItem(nodeId);
	if (node == null) node = this;		//如果沒有找到相應的節點,則以自身節點
	if (node.parent == null) return;		//如果節點是根結點,則返回
	var oSpan = node.doc.children[0].cells[2].children[0];	//找到此節點相應的文字對象
	with (oSpan.style) {
		color = node.selectedTextColor;
		backgroundColor = node.selectedBackgroundColor;
		textDecoration = node.selectedUnderLine ? "underline" : "none";
		fontWeight="bold";
	}
	node.isSelected = true;				//標識節點被選中
}
//取消選中的一個節點
XMLTree.prototype.unSelected = function (nodeId) {
	var node = this.getMenuItem(nodeId);
	if (node == null) node = this;		//如果沒有找到相應的節點,則以自身節點
	if (node.parent == null) return;		//如果節點是根結點,則返回
	var oSpan = node.doc.children[0].cells[2].children[0];	//找到此節點相應的文字對象
	with (oSpan.style) {
		color = node.textColor;
		backgroundColor = node.backgroundColor;
		textDecoration = node.underLine ? "underline" : "none";
		fontWeight="normal";
	}
	node.root.selectedNode = null; // 設置選中的節點為null。
	node.isSelected = false;				//標識節點被選中
}
//得到當前節點的類型,返回"leaf"、"node"、"ref"三種情況
XMLTree.prototype.getType = function () {
	if (this.ref != "") return "ref";
	if (this.menuNode.length > 0) return "node";
	return "leaf";
}
//根據菜單項id查找菜單項,返回擁有此id的菜單項
XMLTree.prototype.getMenuItem = function (id) {
	if (this.id == id) {		//如果此節點就是要尋找的節點
		return this;
	}
	else {
		for (var i=0;i<this.menuNode.length;i++) {
			var result = this.menuNode[i].getMenuItem(id);		//遞歸搜索子節點
			if (result != null)		//如果搜索到則返回此節點
				return result;
		}
		return null;		//如果搜索不到則返回null
	}
}

//2.01:根據菜單項href查找菜單項,返回擁有此href的菜單項
XMLTree.prototype.getMenuItemByHref = function (href) {
	if (this.href == href) {		//如果此節點就是要尋找的節點
		return this;
	}
	else {
		for (var i=0;i<this.menuNode.length;i++) {
			var result = this.menuNode[i].getMenuItemByHref(href);		//遞歸搜索子節點
			if (result != null)		//如果搜索到則返回此節點
				return result;
		}
		return null;		//如果搜索不到則返回null
	}
}
//解析xml樹

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆国产在线观看| 中文字幕免费一区| 欧美三级电影在线观看| 欧美亚洲日本国产| 精品日韩一区二区三区免费视频| 日韩欧美一级精品久久| 国产精品电影一区二区| 亚洲福利一二三区| 国产精品夜夜嗨| 欧美在线播放高清精品| 久久精品人人做人人综合| 亚洲精品成人悠悠色影视| 青青草国产成人99久久| 福利电影一区二区三区| 在线观看不卡一区| 性做久久久久久免费观看| 成人毛片在线观看| 精品国产伦一区二区三区观看体验| 国产精品久久久久7777按摩| 91亚洲精品久久久蜜桃网站 | 国产精品网曝门| 一区二区三区久久久| 国产风韵犹存在线视精品| 欧美精品九九99久久| 国产精品视频第一区| 欧美写真视频网站| 韩国女主播成人在线| 在线精品视频一区二区| 久久国产精品区| 91精品国产黑色紧身裤美女| 亚洲在线视频网站| 91久久国产最好的精华液| 久久久久久久性| 国产精品夜夜爽| 亚洲一区二区三区国产| 久久久国产精品麻豆| 色综合天天综合在线视频| 国产亚洲欧美色| 欧美日韩在线不卡| 国产成人精品www牛牛影视| 亚洲影视在线观看| 国产亚洲制服色| 5566中文字幕一区二区电影| 亚洲高清免费观看高清完整版在线观看| 日韩亚洲欧美高清| 国产一区二区网址| 日本一二三不卡| 91.xcao| 99久久国产综合色|国产精品| 欧美国产成人精品| 欧美一区欧美二区| 一本大道久久a久久综合| 一区二区三区国产| 国产精品午夜春色av| 日韩欧美在线网站| 欧美日韩国产a| 蜜臀精品一区二区三区在线观看 | 日韩午夜在线影院| 91成人免费网站| 波多野结衣欧美| 亚洲宅男天堂在线观看无病毒| 久久久国产一区二区三区四区小说| 欧美一级高清片在线观看| 色婷婷av一区二区三区gif| 国产成人av电影在线播放| 极品美女销魂一区二区三区免费| 国产精品免费网站在线观看| 久久美女高清视频| 精品国产乱码久久久久久1区2区| 欧美情侣在线播放| 欧美在线综合视频| 欧美综合在线视频| 欧美系列亚洲系列| 欧美在线观看视频一区二区| 91精品福利视频| 一本色道久久综合亚洲aⅴ蜜桃| 成人动漫视频在线| 美国av一区二区| 男男视频亚洲欧美| 免费在线看成人av| 国产尤物一区二区在线| 久久66热re国产| 精品影视av免费| 韩国精品一区二区| 国产精品综合在线视频| 国产不卡视频在线播放| 国产成人在线电影| 成人动漫一区二区在线| 91首页免费视频| 日本韩国欧美国产| 欧美日韩国产一二三| 在线播放中文一区| 欧美精品一区二区三区视频| 精品国产免费人成电影在线观看四季| xnxx国产精品| 在线观看91av| 久久久久高清精品| 中文字幕中文在线不卡住| 亚洲精品一卡二卡| 五月天网站亚洲| 亚洲精品视频在线观看网站| 一区二区三区成人在线视频| 亚洲18女电影在线观看| 免费的国产精品| 国产成人免费在线| 日本韩国一区二区三区视频| 91麻豆精品国产91久久久资源速度 | 欧美大片日本大片免费观看| 26uuu精品一区二区| 中文字幕在线不卡视频| 精品理论电影在线观看| 欧美高清在线精品一区| 亚洲综合久久av| 久久爱www久久做| 9久草视频在线视频精品| 欧美色区777第一页| 欧美xxxxx裸体时装秀| 中文字幕在线不卡一区二区三区 | 日韩和欧美一区二区三区| 亚洲另类色综合网站| 日韩精品一级二级| 成人综合婷婷国产精品久久蜜臀| 欧美视频你懂的| 久久精品亚洲麻豆av一区二区 | 欧美三级中文字幕在线观看| 久久蜜桃一区二区| 午夜亚洲福利老司机| 国产精品自拍三区| 欧美日韩不卡视频| 中文字幕av一区二区三区免费看| 天天射综合影视| 97久久超碰国产精品| 日韩精品最新网址| 亚洲精品国产品国语在线app| 激情另类小说区图片区视频区| 色婷婷综合激情| 久久久久亚洲蜜桃| 亚洲国产精品视频| 99久精品国产| 久久久综合网站| 免费精品视频最新在线| 91黄视频在线| 日本一区二区成人在线| 韩国一区二区三区| 91精品久久久久久蜜臀| 亚洲激情成人在线| 成人毛片视频在线观看| 精品国内二区三区| 蜜桃一区二区三区四区| 欧美日韩综合在线免费观看| 中文字幕一区二区三区在线不卡 | 亚洲国产成人91porn| 成人激情综合网站| 国产夜色精品一区二区av| 另类中文字幕网| 日韩一区二区免费电影| 亚洲国产成人av网| 欧美色倩网站大全免费| 亚洲色图视频网站| 午夜a成v人精品| 欧美亚洲动漫另类| 一区二区三区国产豹纹内裤在线| 91在线播放网址| 国产精品美女久久久久久久久 | 久久久久国产一区二区三区四区| 蜜桃久久av一区| 日韩一级免费观看| 久久精品国产免费| 日韩欧美在线影院| 男女男精品视频网| 欧美精品一区二区高清在线观看| 免费成人在线影院| 26uuu久久天堂性欧美| 国产乱色国产精品免费视频| 欧美大片在线观看一区| 国产一本一道久久香蕉| 久久久激情视频| 99re视频这里只有精品| 亚洲人快播电影网| 国产在线麻豆精品观看| 久久综合成人精品亚洲另类欧美| 精东粉嫩av免费一区二区三区| 欧美xxxxx牲另类人与| 粉嫩蜜臀av国产精品网站| 国产精品欧美经典| 91成人在线精品| 日本午夜一本久久久综合| 91小视频在线观看| 亚洲成人综合视频| 日韩欧美综合一区| 成人av先锋影音| 亚洲国产精品久久一线不卡| 日韩亚洲欧美成人一区| 国产精品自拍在线| 亚洲男人天堂一区| 欧美一区二区人人喊爽| 国产激情一区二区三区四区| 综合分类小说区另类春色亚洲小说欧美 | 亚洲欧美偷拍卡通变态| 欧美视频在线一区|