亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
久久久天堂av| 久久一区二区三区四区| caoporen国产精品视频| 国产精品69毛片高清亚洲| 日韩影院精彩在线| 婷婷夜色潮精品综合在线| 婷婷久久综合九色综合绿巨人| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美日韩国产欧美日美国产精品| 9久草视频在线视频精品| 暴力调教一区二区三区| 91丨porny丨首页| 色8久久人人97超碰香蕉987| 欧美少妇bbb| 在线不卡的av| 26uuu亚洲| 亚洲欧洲色图综合| 亚洲综合自拍偷拍| 日韩电影一二三区| 国产成人夜色高潮福利影视| 成人精品一区二区三区中文字幕| 一道本成人在线| 欧美一级爆毛片| 久久综合丝袜日本网| 国产精品毛片久久久久久| 亚洲一区免费观看| 卡一卡二国产精品| 99国产精品99久久久久久| 欧美日韩免费在线视频| 日韩免费一区二区| 国产精品久久久久影院亚瑟| 亚洲最大成人综合| 国产成人日日夜夜| 欧美三电影在线| 中文一区一区三区高中清不卡| 一片黄亚洲嫩模| 国产在线不卡一卡二卡三卡四卡| 97成人超碰视| 精品国产伦一区二区三区免费| 中文字幕日本乱码精品影院| 日韩在线卡一卡二| 从欧美一区二区三区| 欧美精品在线视频| 17c精品麻豆一区二区免费| 日韩国产成人精品| 在线观看欧美黄色| 国产日韩成人精品| 男男gaygay亚洲| 日韩欧美一二三四区| 亚洲欧美色一区| 国产精品资源站在线| 在线精品亚洲一区二区不卡| 久久久99久久| 久久精品国产精品亚洲综合| 91在线免费看| 精品国产乱码久久久久久久| 亚洲电影一区二区三区| 91网站视频在线观看| 国产偷v国产偷v亚洲高清| 日本欧美肥老太交大片| 欧洲一区二区三区在线| 亚洲欧美激情视频在线观看一区二区三区 | 国产精品电影院| 国产精品中文字幕一区二区三区| 欧美三级视频在线观看| 一区二区三区四区在线| 99久久精品国产一区二区三区 | 亚洲精品国产一区二区精华液 | 久久久久久久久岛国免费| 免费高清在线一区| 欧美精品在线一区二区三区| 亚洲一区二区欧美激情| 99麻豆久久久国产精品免费优播| 精品福利二区三区| 国模冰冰炮一区二区| 久久综合久久综合久久综合| 韩国v欧美v日本v亚洲v| 精品国产乱码91久久久久久网站| 毛片一区二区三区| 欧美xxxx老人做受| 极品美女销魂一区二区三区| 欧美成人性福生活免费看| 久久成人18免费观看| 精品国产凹凸成av人导航| 精品一区中文字幕| 国产亚洲一区二区三区| 成人综合在线视频| 1024成人网| 欧美老年两性高潮| 狂野欧美性猛交blacked| www精品美女久久久tv| 成人精品免费网站| 一区二区三区欧美日韩| 欧美一区二区高清| 国产精品亚洲综合一区在线观看| 中文字幕一区av| 欧美日韩mp4| 国产高清精品网站| 亚洲人成网站影音先锋播放| 在线观看日韩精品| 国内久久精品视频| 亚洲天堂成人网| 欧美精品xxxxbbbb| 成人精品小蝌蚪| 三级成人在线视频| 国产精品久久久久久久久免费桃花| 色综合天天做天天爱| 视频一区视频二区中文字幕| 久久噜噜亚洲综合| 欧美在线三级电影| 国产乱码一区二区三区| 国产美女久久久久| 亚洲精品国产无天堂网2021| 欧美大片日本大片免费观看| k8久久久一区二区三区| 日产国产高清一区二区三区 | 欧美日韩在线播放一区| 精品一区二区三区在线播放视频 | 久久亚洲精品小早川怜子| 91一区在线观看| 久久99国产精品成人| 一区二区三区国产精华| 久久久99久久精品欧美| 欧美一区二区在线免费观看| a亚洲天堂av| 精品综合免费视频观看| 亚洲成av人在线观看| 亚洲图片激情小说| 久久久www成人免费毛片麻豆| 欧美私人免费视频| 99九九99九九九视频精品| 国产一区二区免费在线| 日韩和欧美一区二区| 亚洲女人****多毛耸耸8| 久久久久国产精品厨房| 日韩一区二区在线播放| 欧洲在线/亚洲| 色先锋久久av资源部| 成人黄色av电影| 国模一区二区三区白浆| 麻豆一区二区99久久久久| 亚洲国产精品视频| 一区二区三区精品久久久| 国产精品久久三区| 国产亚洲一本大道中文在线| 欧美一区二区三区电影| 欧美日韩在线播| 欧美日韩成人综合天天影院| 欧美主播一区二区三区| 91麻豆国产福利精品| 色综合天天天天做夜夜夜夜做| 成人涩涩免费视频| 成人av网站在线观看免费| 波多野洁衣一区| 色综合久久久久网| 欧美在线播放高清精品| 欧美在线啊v一区| 欧美日韩亚洲综合在线| 欧美日韩一区 二区 三区 久久精品| 色综合亚洲欧洲| 欧洲人成人精品| 在线成人午夜影院| 精品久久久久久久久久久久久久久 | 欧美美女喷水视频| 欧美精品一级二级| 日韩欧美国产不卡| 久久品道一品道久久精品| 欧美激情一区二区三区| 亚洲欧美aⅴ...| 亚洲成a人v欧美综合天堂下载| 偷窥少妇高潮呻吟av久久免费| 日韩福利电影在线| 国产伦理精品不卡| 9l国产精品久久久久麻豆| 欧洲av在线精品| 欧美一区二区三区在| 国产日韩精品一区| 亚洲福利视频一区| 韩国理伦片一区二区三区在线播放| 国产精品系列在线观看| 91黄色免费网站| 日韩欧美一区二区不卡| 国产校园另类小说区| 亚洲午夜成aⅴ人片| 精品一区精品二区高清| 一本一道波多野结衣一区二区| 欧美乱妇一区二区三区不卡视频| 精品99999| 夜夜精品浪潮av一区二区三区| 麻豆精品在线视频| 北条麻妃国产九九精品视频| 欧美一二区视频| 国产精品国产三级国产有无不卡 | 国产农村妇女精品| 爽好多水快深点欧美视频| 床上的激情91.| 日韩三级视频在线看| 亚洲精品成人a在线观看| 精品亚洲欧美一区| 欧美丝袜丝交足nylons图片|