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

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

?? xloadtree.js

?? 一個用ajax做的樹行框架
?? JS
字號:
/*----------------------------------------------------------------------------\
|                               XLoadTree 1.11                                |
|-----------------------------------------------------------------------------|
|                         Created by Erik Arvidsson                           |
|                  (http://webfx.eae.net/contact.html#erik)                   |
|                      For WebFX (http://webfx.eae.net/)                      |
|-----------------------------------------------------------------------------|
| An extension to xTree that allows sub trees to be loaded at runtime by      |
| reading XML files from the server. Works with IE5+ and Mozilla 1.0+         |
|-----------------------------------------------------------------------------|
|             Copyright (c) 2001, 2002, 2003, 2006 Erik Arvidsson             |
|-----------------------------------------------------------------------------|
| Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| use this file except in compliance with the License.  You may obtain a copy |
| of the License at http://www.apache.org/licenses/LICENSE-2.0                |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| Unless  required  by  applicable law or  agreed  to  in  writing,  software |
| distributed under the License is distributed on an  "AS IS" BASIS,  WITHOUT |
| WARRANTIES OR  CONDITIONS OF ANY KIND,  either express or implied.  See the |
| License  for the  specific language  governing permissions  and limitations |
| under the License.                                                          |
|-----------------------------------------------------------------------------|
| Dependencies: xtree.js     - original xtree library                         |
|               xtree.css    - simple css styling of xtree                    |
|               xmlextras.js - provides xml http objects and xml document     |
|                              objects                                        |
|-----------------------------------------------------------------------------|
| 2001-09-27 | Original Version Posted.                                       |
| 2002-01-19 | Added some simple error handling and string templates for      |
|            | reporting the errors.                                          |
| 2002-01-28 | Fixed loading issues in IE50 and IE55 that made the tree load  |
|            | twice.                                                         |
| 2002-10-10 | (1.1) Added reload method that reloads the XML file from the   |
|            | server.                                                        |
| 2003-05-06 | Added support for target attribute                             |
| 2006-05-28 | Changed license to Apache Software License 2.0.                |
|-----------------------------------------------------------------------------|
| Created 2001-09-27 | All changes are in the log above. | Updated 2006-05-28 |
\----------------------------------------------------------------------------*/


webFXTreeConfig.loadingText = "Loading...";
webFXTreeConfig.loadErrorTextTemplate = "Error loading \"%1%\"";
webFXTreeConfig.emptyErrorTextTemplate = "Error \"%1%\" does not contain any tree items";

/*
 * WebFXLoadTree class
 */

function WebFXLoadTree(sText, sXmlSrc, sAction, sBehavior, sIcon, sOpenIcon) {
	// call super
	this.WebFXTree = WebFXTree;
	this.WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon);

	// setup default property values
	this.src = sXmlSrc;
	this.loading = false;
	this.loaded = false;
	this.errorText = "";

	// check start state and load if open
	if (this.open)
		_startLoadXmlTree(this.src, this);
	else {
		// and create loading item if not
		this._loadingItem = new WebFXTreeItem(webFXTreeConfig.loadingText);
		this.add(this._loadingItem);
	}
}

WebFXLoadTree.prototype = new WebFXTree;

// override the expand method to load the xml file
WebFXLoadTree.prototype._webfxtree_expand = WebFXTree.prototype.expand;
WebFXLoadTree.prototype.expand = function() {
	if (!this.loaded && !this.loading) {
		// load
		_startLoadXmlTree(this.src, this);
	}
	this._webfxtree_expand();
};

/*
 * WebFXLoadTreeItem class
 */

function WebFXLoadTreeItem(sText, sXmlSrc, sAction, eParent, sIcon, sOpenIcon) {
	// call super
	this.WebFXTreeItem = WebFXTreeItem;
	this.WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon);

	// setup default property values
	this.src = sXmlSrc;
	this.loading = false;
	this.loaded = false;
	this.errorText = "";

	// check start state and load if open
	if (this.open)
		_startLoadXmlTree(this.src, this);
	else {
		// and create loading item if not
		this._loadingItem = new WebFXTreeItem(webFXTreeConfig.loadingText);
		this.add(this._loadingItem);
	}
}

WebFXLoadTreeItem.prototype = new WebFXTreeItem;

// override the expand method to load the xml file
WebFXLoadTreeItem.prototype._webfxtreeitem_expand = WebFXTreeItem.prototype.expand;
WebFXLoadTreeItem.prototype.expand = function() {
	if (!this.loaded && !this.loading) {
		// load
		_startLoadXmlTree(this.src, this);
	}
	this._webfxtreeitem_expand();
};

// reloads the src file if already loaded
WebFXLoadTree.prototype.reload =
WebFXLoadTreeItem.prototype.reload = function () {
	// if loading do nothing
	if (this.loaded) {
		var open = this.open;
		// remove
		while (this.childNodes.length > 0)
			this.childNodes[this.childNodes.length - 1].remove();

		this.loaded = false;

		this._loadingItem = new WebFXTreeItem(webFXTreeConfig.loadingText);
		this.add(this._loadingItem);

		if (open)
			this.expand();
	}
	else if (this.open && !this.loading)
		_startLoadXmlTree(this.src, this);
};

/*
 * Helper functions
 */

// creates the xmlhttp object and starts the load of the xml document
function _startLoadXmlTree(sSrc, jsNode) {
	if (jsNode.loading || jsNode.loaded)
		return;
	jsNode.loading = true;
	var xmlHttp = XmlHttp.create();
	xmlHttp.open("GET", sSrc, true);	// async
	xmlHttp.onreadystatechange = function () {
		if (xmlHttp.readyState == 4) {
			_xmlFileLoaded(xmlHttp.responseXML, jsNode);
		}
	};
	// call in new thread to allow ui to update
	window.setTimeout(function () {
		xmlHttp.send(null);
	}, 10);
}


// Converts an xml tree to a js tree. See article about xml tree format
function _xmlTreeToJsTree(oNode) {
	// retreive attributes
	var text = oNode.getAttribute("text");
	var action = oNode.getAttribute("action");
	var parent = null;
	var icon = oNode.getAttribute("icon");
	var openIcon = oNode.getAttribute("openIcon");
	var src = oNode.getAttribute("src");
	var target = oNode.getAttribute("target");
	// create jsNode
	var jsNode;
	if (src != null && src != "")
		jsNode = new WebFXLoadTreeItem(text, src, action, parent, icon, openIcon);
	else
		jsNode = new WebFXTreeItem(text, action, parent, icon, openIcon);

	if (target != "")
		jsNode.target = target;

	// go through childNOdes
	var cs = oNode.childNodes;
	var l = cs.length;
	for (var i = 0; i < l; i++) {
		if (cs[i].tagName == "tree")
			jsNode.add( _xmlTreeToJsTree(cs[i]), true );
	}

	return jsNode;
}

// Inserts an xml document as a subtree to the provided node
function _xmlFileLoaded(oXmlDoc, jsParentNode) {
	if (jsParentNode.loaded)
		return;

	var bIndent = false;
	var bAnyChildren = false;
	jsParentNode.loaded = true;
	jsParentNode.loading = false;

	// check that the load of the xml file went well
	if( oXmlDoc == null || oXmlDoc.documentElement == null) {
		alert(oXmlDoc.xml);
		jsParentNode.errorText = parseTemplateString(webFXTreeConfig.loadErrorTextTemplate,
							jsParentNode.src);
	}
	else {
		// there is one extra level of tree elements
		var root = oXmlDoc.documentElement;

		// loop through all tree children
		var cs = root.childNodes;
		var l = cs.length;
		for (var i = 0; i < l; i++) {
			if (cs[i].tagName == "tree") {
				bAnyChildren = true;
				bIndent = true;
				jsParentNode.add( _xmlTreeToJsTree(cs[i]), true);
			}
		}

		// if no children we got an error
		if (!bAnyChildren)
			jsParentNode.errorText = parseTemplateString(webFXTreeConfig.emptyErrorTextTemplate,
										jsParentNode.src);
	}

	// remove dummy
	if (jsParentNode._loadingItem != null) {
		jsParentNode._loadingItem.remove();
		bIndent = true;
	}

	if (bIndent) {
		// indent now that all items are added
		jsParentNode.indent();
	}

	// show error in status bar
	if (jsParentNode.errorText != "")
		window.status = jsParentNode.errorText;
}

// parses a string and replaces %n% with argument nr n
function parseTemplateString(sTemplate) {
	var args = arguments;
	var s = sTemplate;

	s = s.replace(/\%\%/g, "%");

	for (var i = 1; i < args.length; i++)
		s = s.replace( new RegExp("\%" + i + "\%", "g"), args[i] )

	return s;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区在线观看| 国产精品少妇自拍| 亚洲国产精品国自产拍av| 亚洲一区二区在线观看视频 | 日本韩国欧美三级| 欧美电影免费观看高清完整版在线| 国产精品天干天干在观线| 午夜国产精品影院在线观看| 成人app网站| 精品剧情在线观看| 丝袜亚洲另类欧美| 91久久精品一区二区二区| 久久精品在线免费观看| 日韩av中文字幕一区二区三区| av影院午夜一区| 精品国产免费一区二区三区四区 | 欧美午夜精品免费| 中文字幕成人网| 国产毛片精品视频| 欧美精选一区二区| 亚洲永久免费av| 97精品久久久午夜一区二区三区 | 播五月开心婷婷综合| 日韩欧美国产电影| 日韩成人一区二区三区在线观看| 不卡一区二区中文字幕| 中文字幕av一区二区三区免费看| 麻豆精品视频在线| 91精品国产一区二区| 日韩精品成人一区二区三区| 欧洲一区二区三区在线| 夜夜夜精品看看| 91年精品国产| 一区二区三区视频在线观看| 99riav一区二区三区| 亚洲女同一区二区| 91久久久免费一区二区| 亚洲国产一区二区在线播放| 一道本成人在线| 亚欧色一区w666天堂| 欧美日韩一区二区三区四区五区| 亚洲精品免费在线| 在线观看免费一区| 日韩国产在线观看一区| 7777精品伊人久久久大香线蕉 | 国产精品看片你懂得| 成人午夜激情影院| 亚洲视频一二三区| 91成人免费网站| 日韩成人一级大片| 精品裸体舞一区二区三区| 国产不卡在线播放| 最新久久zyz资源站| 欧美自拍偷拍午夜视频| 日韩av在线播放中文字幕| 精品久久久久久久一区二区蜜臀| 国产丶欧美丶日本不卡视频| 国产精品国产三级国产专播品爱网| 91亚洲国产成人精品一区二区三| 亚洲摸摸操操av| 777亚洲妇女| 成人听书哪个软件好| 亚洲大片在线观看| 2欧美一区二区三区在线观看视频| 国产精品18久久久久久久久久久久| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美在线999| 开心九九激情九九欧美日韩精美视频电影| 26uuu亚洲综合色| 在线一区二区三区四区| 六月婷婷色综合| 亚洲人成人一区二区在线观看| 欧美一级黄色录像| av在线不卡电影| 毛片av一区二区| 一区二区三区丝袜| 久久久99精品免费观看不卡| 欧美中文字幕一区二区三区亚洲| 久久草av在线| 亚洲午夜久久久久久久久久久 | 51精品视频一区二区三区| 国产麻豆视频精品| 亚洲高清免费观看高清完整版在线观看| 日韩精品一区二区三区蜜臀| 在线欧美一区二区| 国产精品一区免费视频| 日韩精品电影一区亚洲| 中文字幕永久在线不卡| 精品美女被调教视频大全网站| 91久久奴性调教| 粉嫩嫩av羞羞动漫久久久| 日一区二区三区| 亚洲精品国产一区二区三区四区在线 | 一本色道**综合亚洲精品蜜桃冫| 美女www一区二区| 午夜激情综合网| 一区二区三区av电影| 亚洲国产高清不卡| 26uuu色噜噜精品一区二区| 欧美日韩的一区二区| 色成年激情久久综合| 成人看片黄a免费看在线| 国产精品资源网| 精品一区二区av| 美女精品自拍一二三四| 日韩精品一级中文字幕精品视频免费观看 | 高清在线不卡av| 国产一区二区女| 九色综合狠狠综合久久| 午夜精品福利一区二区三区av| 亚洲精品久久嫩草网站秘色| 1024成人网| 亚洲免费观看高清在线观看| 中文字幕一区二区视频| 中文字幕国产精品一区二区| 国产女人aaa级久久久级| 国产三级一区二区| 久久精品一区二区三区不卡牛牛| 久久综合色8888| 国产亚洲午夜高清国产拍精品| 久久亚洲精品小早川怜子| 久久综合狠狠综合久久综合88| 欧美xxxxx裸体时装秀| 精品国产a毛片| 久久久美女艺术照精彩视频福利播放| 日韩欧美www| 国产午夜一区二区三区| 国产精品美女久久久久av爽李琼| 国产精品久久久久一区| 亚洲日本护士毛茸茸| 亚洲自拍偷拍麻豆| 日韩精品乱码免费| 国产麻豆精品久久一二三| 风间由美性色一区二区三区| 一本到三区不卡视频| 欧美三级日韩三级| 欧美成人aa大片| 国产精品电影一区二区三区| 一区二区高清在线| 免费一级片91| 不卡av在线网| 欧美一区二区网站| 国产午夜一区二区三区| 亚洲女人****多毛耸耸8| 天天色综合成人网| 国产一区二区三区四区五区美女 | 成人免费视频一区二区| 日韩av一区二| 成人亚洲精品久久久久软件| 国产999精品久久久久久绿帽| 国产成人精品免费网站| 北条麻妃国产九九精品视频| 欧美日韩国产一区二区三区地区| 欧美日韩大陆一区二区| 日韩欧美一区电影| 国产日产欧产精品推荐色 | 国产精品久久久久久久久图文区 | 国产精品传媒在线| 亚洲精品国产品国语在线app| 亚洲国产三级在线| 久久 天天综合| 在线观看日产精品| 精品处破学生在线二十三| 欧美国产精品专区| 亚洲美女在线一区| 韩国一区二区视频| 91网站最新地址| 欧美刺激午夜性久久久久久久 | 国产精品久久精品日日| 亚洲成人免费av| 国产91露脸合集magnet | 自拍偷在线精品自拍偷无码专区| 亚洲精品日产精品乱码不卡| 麻豆久久一区二区| 欧美日韩一级二级三级| 国产午夜精品一区二区三区四区| 亚洲精品成人悠悠色影视| 亚洲综合一区二区精品导航| 国产精品一区二区果冻传媒| 色香蕉成人二区免费| 久久综合九色综合97_久久久| 国产精品国产自产拍高清av | 免费在线观看视频一区| 国产精品99久久久久久似苏梦涵 | 国产寡妇亲子伦一区二区| 欧美性一二三区| 国产日韩精品一区二区浪潮av | 欧美自拍丝袜亚洲| 欧美国产日韩精品免费观看| 午夜久久久久久久久| 9色porny自拍视频一区二区| 久久九九久精品国产免费直播| 午夜欧美电影在线观看| av一区二区不卡| 精品国产一区久久| 免费成人在线影院| 欧美日韩免费高清一区色橹橹| 国产精品第13页| 国产 日韩 欧美大片| 国产精品午夜久久|