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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? menu2.js

?? 圖書管理系統(tǒng)包括圖書的增加、刪除、修改等功能
?? JS
?? 第 1 頁 / 共 2 頁
字號:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.widget.Menu2");dojo.provide("dojo.widget.html.Menu2");dojo.provide("dojo.widget.PopupMenu2");dojo.provide("dojo.widget.MenuItem2");dojo.provide("dojo.widget.MenuBar2");dojo.require("dojo.html");dojo.require("dojo.style");dojo.require("dojo.event.*");dojo.require("dojo.widget.*");dojo.require("dojo.widget.HtmlWidget");dojo.widget.PopupMenu2 = function(){	dojo.widget.HtmlWidget.call(this);	this.items = [];	// unused???	this.targetNodeIds = []; // fill this with nodeIds upon widget creation and it becomes context menu for those nodes	this.queueOnAnimationFinish = [];	this.eventNames =  {		open: ""	};}dojo.inherits(dojo.widget.PopupMenu2, dojo.widget.HtmlWidget);dojo.lang.extend(dojo.widget.PopupMenu2, {	widgetType: "PopupMenu2",	isContainer: true,	snarfChildDomOutput: true,	currentSubmenu: null,	currentSubmenuTrigger: null,	parentMenu: null,	parentMenuBar: null,	isShowingNow: false,	menuX: 0,	menuY: 0,	menuWidth: 0,	menuHeight: 0,	menuIndex: 0,	domNode: null,	containerNode: null,	eventNaming: "default",	templateString: '<div class="dojoPopupMenu2" style="left:-9999px; top:-9999px; display: none;"><div dojoAttachPoint="containerNode" class="dojoPopupMenu2Client"></div></div>',	templateCssPath: dojo.uri.dojoUri("src/widget/templates/HtmlMenu2.css"),	itemHeight: 18,	iconGap: 1,	accelGap: 10,	submenuGap: 2,	finalGap: 5,	submenuIconSize: 4,	separatorHeight: 9,	submenuDelay: 500,	submenuOverlap: 5,	contextMenuForWindow: false,	openEvent: null,	submenuIconSrc: dojo.uri.dojoUri("src/widget/templates/images/submenu_off.gif").toString(),	submenuIconOnSrc: dojo.uri.dojoUri("src/widget/templates/images/submenu_on.gif").toString(),	initialize: function(args, frag) {		if (this.eventNaming == "default") {			for (var eventName in this.eventNames) {				this.eventNames[eventName] = this.widgetId+"/"+eventName;			}		}	},	postCreate: function(){		if (this.domNode.style.display=="none"){			this.domNode.style.display = "";		}		this.domNode.style.left = '-9999px'		this.domNode.style.top = '-9999px'		// attach menu to document body if it's not already there		if (this.domNode.parentNode != document.body){			document.body.appendChild(this.domNode);		}		if (this.contextMenuForWindow){			var doc = document.documentElement  || document.body;			dojo.widget.Menu2.OperaAndKonqFixer.fixNode(doc);			dojo.event.connect(doc, "oncontextmenu", this, "onOpen");		} else if ( this.targetNodeIds.length > 0 ){			for(var i=0; i<this.targetNodeIds.length; i++){				this.bindDomNode(this.targetNodeIds[i]);			}		}		this.subscribeSubitemsOnOpen();		this.layoutMenuSoon();	},	subscribeSubitemsOnOpen: function() {		var subItems = this.getChildrenOfType(dojo.widget.MenuItem2);		//dojo.debug(subItems)		for(var i=0; i<subItems.length; i++) {			//dojo.debug(subItems[i]);			dojo.event.topic.subscribe(this.eventNames.open, subItems[i], "menuOpen")		}	},	// get open event for current menu	getTopOpenEvent: function() {		var menu = this;		while (menu.parent){ menu = menu.parent; }		return menu.openEvent;	},	// attach menu to given node	bindDomNode: function(nodeName){		var node = dojo.byId(nodeName);		// fixes node so that it supports oncontextmenu if not natively supported, Konqueror, Opera more?		dojo.widget.Menu2.OperaAndKonqFixer.fixNode(node);		dojo.event.kwConnect({			srcObj:     node,			srcFunc:    "oncontextmenu",			targetObj:  this,			targetFunc: "onOpen",			once:       true		});	},	// detach menu from given node	unBindDomNode: function(nodeName){		var node = dojo.byId(nodeName);		dojo.event.kwDisconnect({			srcObj:     node,			srcFunc:    "oncontextmenu",			targetObj:  this,			targetFunc: "onOpen",			once:       true		});		// cleans a fixed node, konqueror and opera		dojo.widget.Menu2.OperaAndKonqFixer.cleanNode(node);	},	layoutMenuSoon: function(){		dojo.lang.setTimeout(this, "layoutMenu", 0);	},	layoutMenu: function(){        // menu must be attached to DOM for size calculations to work		// even though we attached to document.body in postCreate(), here		// we seem to be attached to a #document-fragment.  Don't understand why.        document.body.appendChild(this.domNode);        // determine menu width		var max_label_w = 0;		var max_accel_w = 0;		for(var i=0; i<this.children.length; i++){			if (this.children[i].getLabelWidth){				max_label_w = Math.max(max_label_w, this.children[i].getLabelWidth());			}			if (dojo.lang.isFunction(this.children[i].getAccelWidth)){				max_accel_w = Math.max(max_accel_w, this.children[i].getAccelWidth());			}		}		if( isNaN(max_label_w) || isNaN(max_accel_w) ){			// Browser needs some more time to calculate sizes			this.layoutMenuSoon();			return;		}		var clientLeft = dojo.style.getPixelValue(this.domNode, "padding-left", true) + dojo.style.getPixelValue(this.containerNode, "padding-left", true);		var clientTop  = dojo.style.getPixelValue(this.domNode, "padding-top", true)  + dojo.style.getPixelValue(this.containerNode, "padding-top", true);		if( isNaN(clientLeft) || isNaN(clientTop) ){			// Browser needs some more time to calculate sizes			this.layoutMenuSoon();			return;		}		var y = clientTop;		var max_item_width = 0;		for(var i=0; i<this.children.length; i++){			var ch = this.children[i];			ch.layoutItem(max_label_w, max_accel_w);			ch.topPosition = y;			y += dojo.style.getOuterHeight(ch.domNode);			max_item_width = Math.max(max_item_width, dojo.style.getOuterWidth(ch.domNode));		}		dojo.style.setContentWidth(this.containerNode, max_item_width);		dojo.style.setContentHeight(this.containerNode, y-clientTop);		dojo.style.setContentWidth(this.domNode, dojo.style.getOuterWidth(this.containerNode));		dojo.style.setContentHeight(this.domNode, dojo.style.getOuterHeight(this.containerNode));		this.menuWidth = dojo.style.getOuterWidth(this.domNode);		this.menuHeight = dojo.style.getOuterHeight(this.domNode);	},	/**	 * Open the menu at position (x,y), relative to the viewport	 * (usually positions are relative to the document; why is this different??)	 */	open: function(x, y, parent, explodeSrc){		// if explodeSrc isn't specified then explode from my parent widget		explodeSrc = explodeSrc || parent["domNode"] || [];		if (this.isShowingNow){ return; }		var parentMenu = (parent && parent.widgetType=="PopupMenu2") ? parent : null;		if ( !parentMenu ) {			// record whenever a top level menu is opened			// explodeSrc may or may not be a node - it may also be an [x,y] position array			var button = explodeSrc instanceof Array ? null : explodeSrc;			dojo.widget.html.Menu2Manager.opened(this, button);		}		//dojo.debug("open called for animation "+this.animationInProgress)		// if I click  right button and menu is opened, then it gets 2 commands: close -> open		// so close enables animation and next "open" is put to queue to occur at new location		if(this.animationInProgress){			this.queueOnAnimationFinish.push(this.open, arguments);			return;		}		var viewport = dojo.html.getViewportSize();		var scrolloffset = dojo.html.getScrollOffset();		var clientRect = {			'left'  : scrolloffset[0],			'right' : scrolloffset[0] + viewport[0],			'top'   : scrolloffset[1],			'bottom': scrolloffset[1] + viewport[1]		};		if (parentMenu){			// submenu is opening			if (x + this.menuWidth > clientRect.right){ x = x - (this.menuWidth + parentMenu.menuWidth - (2 * this.submenuOverlap)); }			if (y + this.menuHeight > clientRect.bottom){ y = y -			(this.menuHeight - (this.itemHeight + 5)); } // TODO: why 5?		}else{			// top level menu is opening			x+=scrolloffset[0];			y+=scrolloffset[1];			explodeSrc[0] += scrolloffset[0];			explodeSrc[1] += scrolloffset[1];			if (x < clientRect.left){ x = clientRect.left; }			if (x + this.menuWidth > clientRect.right){ x = x - this.menuWidth; }			if (y < clientRect.top){ y = clientRect.top; }			if (y + this.menuHeight > clientRect.bottom){ y = y - this.menuHeight; }		}		this.parentMenu = parentMenu;		this.explodeSrc = explodeSrc;		this.menuIndex = parentMenu ? parentMenu.menuIndex + 1 : 1;		this.menuX = x;		this.menuY = y;		// move the menu into position but make it invisible		// (because when menus are initially constructed they are visible but off-screen)		this.domNode.style.zIndex = 200 + this.menuIndex;		this.domNode.style.left = x + 'px';		this.domNode.style.top = y + 'px';		this.domNode.style.display='none';		this.domNode.style.position='absolute';		// then use the user defined method to display it		this.show();		this.isShowingNow = true;	},	close: function(){		// If we are in the process of opening the menu and we are asked to close it,		// we should really cancel the current animation, but for simplicity we will		// just ignore the request		if(this.animationInProgress){			this.queueOnAnimationFinish.push(this.close, []);			return;		}		this.closeSubmenu();		this.hide();		this.isShowingNow = false;		dojo.widget.html.Menu2Manager.closed(this);		if (this.parentMenuBar){			this.parentMenuBar.closedMenu(this);		}	},	onShow: function() {		dojo.widget.HtmlWidget.prototype.onShow.call(this);		this.processQueue();	},	// do events from queue	processQueue: function() {		if (!this.queueOnAnimationFinish.length) return;		var func = this.queueOnAnimationFinish.shift();		var args = this.queueOnAnimationFinish.shift();		func.apply(this, args);	},	onHide: function() {		dojo.widget.HtmlWidget.prototype.onHide.call(this);		this.processQueue();	},	closeAll: function(){		if (this.parentMenu){			this.parentMenu.closeAll();		}else{			this.close();		}	},	closeSubmenu: function(){		if (this.currentSubmenu == null){ return; }		this.currentSubmenu.close();		this.currentSubmenu = null;		this.currentSubmenuTrigger.is_open = false;		this.currentSubmenuTrigger.closedSubmenu();		this.currentSubmenuTrigger = null;	},	openSubmenu: function(submenu, from_item){		var our_x = dojo.style.getPixelValue(this.domNode, 'left');		var our_y = dojo.style.getPixelValue(this.domNode, 'top');		var our_w = dojo.style.getOuterWidth(this.domNode);		var item_y = from_item.topPosition;		var x = our_x + our_w - this.submenuOverlap;		var y = our_y + item_y;		this.currentSubmenu = submenu;		this.currentSubmenu.open(x, y, this, from_item.domNode);		this.currentSubmenuTrigger = from_item;		this.currentSubmenuTrigger.is_open = true;	},	onOpen: function(e){		this.openEvent = e;		//dojo.debugShallow(e);		this.open(e.clientX, e.clientY, null, [e.clientX, e.clientY]);		if(e["preventDefault"]){			e.preventDefault();		}	},	isPointInMenu: function(x, y){		if (x < this.menuX){ return false; }		if (x > this.menuX + this.menuWidth){ return false; }		if (y < this.menuY){ return false; }		if (y > this.menuY + this.menuHeight){ return false; }		return true;	}});dojo.widget.MenuItem2 = function(){	dojo.widget.HtmlWidget.call(this);	this.eventNames = {		engage: ""	};}dojo.inherits(dojo.widget.MenuItem2, dojo.widget.HtmlWidget);dojo.lang.extend(dojo.widget.MenuItem2, {	widgetType: "MenuItem2",	templateString:			 '<div class="dojoMenuItem2">'			+'<div dojoAttachPoint="iconNode" class="dojoMenuItem2Icon"></div>'			+'<span dojoAttachPoint="labelNode" class="dojoMenuItem2Label"><span><span></span></span></span>'			+'<span dojoAttachPoint="accelNode" class="dojoMenuItem2Accel"><span><span></span></span></span>'			+'<div dojoAttachPoint="submenuNode" class="dojoMenuItem2Submenu"></div>'			+'<div dojoAttachPoint="targetNode" class="dojoMenuItem2Target" dojoAttachEvent="onMouseOver: onHover; onMouseOut: onUnhover; onClick: _onClick;">&nbsp;</div>'			+'</div>',	//	// nodes	//	domNode: null,	iconNode: null,	labelNode: null,	accelNode: null,	submenuNode: null,	targetNode: null,	//	// internal settings	//	is_hovering: false,	hover_timer: null,	is_open: false,	topPosition: 0,	//	// options	//	caption: 'Untitled',	accelKey: '',	iconSrc: '',	submenuId: '',	disabled: false,	eventNaming: "default",	postCreate: function(){		dojo.html.disableSelection(this.domNode);		if (this.disabled){			this.setDisabled(true);		}		this.labelNode.childNodes[0].appendChild(document.createTextNode(this.caption));		this.accelNode.childNodes[0].appendChild(document.createTextNode(this.accelKey));		this.labelShadowNode = this.labelNode.childNodes[0].childNodes[0];		this.accelShadowNode = this.accelNode.childNodes[0].childNodes[0];		this.labelShadowNode.appendChild(document.createTextNode(this.caption));		this.accelShadowNode.appendChild(document.createTextNode(this.accelKey));		if (this.eventNaming == "default") {			for (var eventName in this.eventNames) {				this.eventNames[eventName] = this.widgetId+"/"+eventName;			}		}	},	layoutItem: function(label_w, accel_w){		var x_label = this.parent.itemHeight + this.parent.iconGap;		var x_accel = x_label + label_w + this.parent.accelGap;		var x_submu = x_accel + accel_w + this.parent.submenuGap;		var total_w = x_submu + this.parent.submenuIconSize + this.parent.finalGap;		this.iconNode.style.left = '0px';		this.iconNode.style.top = '0px';		if (this.iconSrc){			if ((this.iconSrc.toLowerCase().substring(this.iconSrc.length-4) == ".png") && (dojo.render.html.ie)){				this.iconNode.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.iconSrc+"', sizingMethod='image')";				this.iconNode.style.backgroundImage = '';			}else{				this.iconNode.style.backgroundImage = 'url('+this.iconSrc+')';			}		}else{			this.iconNode.style.backgroundImage = '';		}		dojo.style.setOuterWidth(this.iconNode, this.parent.itemHeight);		dojo.style.setOuterHeight(this.iconNode, this.parent.itemHeight);		dojo.style.setOuterHeight(this.labelNode, this.parent.itemHeight);		dojo.style.setOuterHeight(this.accelNode, this.parent.itemHeight);		dojo.style.setContentWidth(this.domNode, total_w);		dojo.style.setContentHeight(this.domNode, this.parent.itemHeight);		this.labelNode.style.left = x_label + 'px';		this.accelNode.style.left = x_accel + 'px';		this.submenuNode.style.left = x_submu + 'px';		dojo.style.setOuterWidth(this.submenuNode, this.parent.submenuIconSize);		dojo.style.setOuterHeight(this.submenuNode, this.parent.itemHeight);		this.submenuNode.style.display = this.submenuId ? 'block' : 'none';		this.submenuNode.style.backgroundImage = 'url('+this.parent.submenuIconSrc+')';		dojo.style.setOuterWidth(this.targetNode, total_w);		dojo.style.setOuterHeight(this.targetNode, this.parent.itemHeight);	},	onHover: function(){		if (this.is_hovering){ return; }		if (this.is_open){ return; }		this.parent.closeSubmenu();		this.highlightItem();		if (this.is_hovering){ this.stopSubmenuTimer(); }		this.is_hovering = true;		this.startSubmenuTimer();	},	onUnhover: function(){		if (!this.is_open){ this.unhighlightItem(); }		this.is_hovering = false;		this.stopSubmenuTimer();	},	// Internal function for clicks	_onClick: function(){		if (this.disabled){ return; }		if (this.submenuId){			if (!this.is_open){				this.stopSubmenuTimer();				this.openSubmenu();			}		}else{			this.parent.closeAll();		}		// for some browsers the onMouseOut doesn't get called (?), so call it manually		this.onUnhover();		// user defined handler for click		this.onClick();		dojo.event.topic.publish(this.eventNames.engage, this);	},	// User defined function to handle clicks	onClick: function() { },	highlightItem: function(){		dojo.html.addClass(this.domNode, 'dojoMenuItem2Hover');		this.submenuNode.style.backgroundImage = 'url('+this.parent.submenuIconOnSrc+')';	},	unhighlightItem: function(){		dojo.html.removeClass(this.domNode, 'dojoMenuItem2Hover');		this.submenuNode.style.backgroundImage = 'url('+this.parent.submenuIconSrc+')';	},	startSubmenuTimer: function(){		this.stopSubmenuTimer();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区免费看| 欧美午夜精品免费| www.亚洲免费av| 精品久久久久久久久久久久包黑料| 一区二区三区在线观看欧美| 国产精品一区二区视频| 日韩一区二区高清| 午夜国产不卡在线观看视频| 欧美在线播放高清精品| 一区二区欧美精品| 色婷婷综合在线| 一区二区三区在线观看视频| 色综合天天综合色综合av | 免费观看一级特黄欧美大片| 欧美日韩国产成人在线91| 亚洲在线中文字幕| 欧美丝袜自拍制服另类| 亚洲成国产人片在线观看| 欧美中文字幕一区二区三区 | 色综合久久天天综合网| 亚洲日本护士毛茸茸| 国产成人在线影院| 国产精品乱码一区二区三区软件| 风间由美性色一区二区三区| 日韩精品一区二区三区四区| 美美哒免费高清在线观看视频一区二区| 91精选在线观看| 丝袜脚交一区二区| 欧美一级日韩不卡播放免费| 免费成人美女在线观看| 国产女人18毛片水真多成人如厕| av在线综合网| 亚洲欧美日韩成人高清在线一区| 欧美日韩另类一区| 久久精品国产一区二区| 国产精品视频一二三区| 91色.com| 免费在线看成人av| 国产日韩三级在线| 91视频com| 七七婷婷婷婷精品国产| 欧美极品另类videosde| 欧美在线你懂得| 久久99精品久久久久久| 国产精品电影院| 欧美精品久久一区二区三区| 美国十次综合导航| 国产精品系列在线| 欧美亚洲综合在线| 久久99精品国产91久久来源| 国产精品美女久久久久久久久久久| 在线观看日韩精品| 狠狠色狠狠色综合日日91app| 亚洲日本va午夜在线影院| 在线综合+亚洲+欧美中文字幕| 国产自产2019最新不卡| 亚洲综合成人网| 国产三级一区二区三区| 欧美性生活影院| 国产乱码精品1区2区3区| 亚洲国产你懂的| 国产欧美日韩卡一| 91精品蜜臀在线一区尤物| eeuss鲁片一区二区三区| 日本午夜精品一区二区三区电影 | 午夜欧美电影在线观看| 中文字幕乱码久久午夜不卡| 69久久夜色精品国产69蝌蚪网| 成人动漫在线一区| 久久国内精品自在自线400部| 国产精品动漫网站| 国产欧美一区二区精品性色超碰 | 久热成人在线视频| 亚洲永久精品大片| 国产精品美女久久久久aⅴ国产馆| 在线看一区二区| zzijzzij亚洲日本少妇熟睡| 蜜桃精品在线观看| 午夜精品福利在线| 亚洲欧美日韩久久| 1024国产精品| 国产农村妇女毛片精品久久麻豆 | 99re亚洲国产精品| 国产精品 欧美精品| 免费成人在线播放| 三级在线观看一区二区| 亚洲婷婷综合色高清在线| 国产精品免费观看视频| 久久久综合激的五月天| 日韩三级.com| 欧美日韩成人高清| 欧美日韩成人综合| 911精品产国品一二三产区| 国产精品伊人色| 国产精品资源在线观看| 麻豆极品一区二区三区| 日韩精品乱码免费| 日韩avvvv在线播放| 国产精品沙发午睡系列990531| 久久精品视频在线免费观看| 亚洲精品一区二区三区99| 日韩欧美国产三级| 精品噜噜噜噜久久久久久久久试看| 日韩一区二区在线播放| 欧美一区日本一区韩国一区| 日韩免费观看2025年上映的电影 | 亚洲高清视频中文字幕| 亚洲香蕉伊在人在线观| 亚洲gay无套男同| 天堂成人国产精品一区| 日本不卡在线视频| 韩国一区二区三区| 国产精品99久久久久久似苏梦涵 | 中文字幕亚洲一区二区av在线| 亚洲欧美自拍偷拍色图| 亚洲视频免费在线| 日韩理论电影院| 亚洲永久免费av| 视频一区视频二区在线观看| 精品一区二区在线看| 国产成人精品免费视频网站| 成人黄色av电影| 欧美美女喷水视频| 精品av久久707| 国产精品久久久久影院| 亚洲午夜av在线| 激情丁香综合五月| 99九九99九九九视频精品| 在线观看成人小视频| 欧美tickling网站挠脚心| 中文字幕av在线一区二区三区| 一区二区三区四区在线| 欧美bbbbb| 91视频观看视频| 91精品国产麻豆国产自产在线| 3d动漫精品啪啪一区二区竹菊| 日韩一级成人av| 久久久91精品国产一区二区精品| 亚洲人成在线观看一区二区| 日本伊人色综合网| 99久久精品免费| 日韩欧美亚洲国产精品字幕久久久| 国产欧美久久久精品影院| 亚洲国产综合91精品麻豆| 国产一区视频导航| 欧美日韩视频一区二区| 国产欧美一区二区三区在线老狼| 亚洲午夜免费电影| 国产成人精品免费在线| 日韩一区二区电影在线| 亚洲精品中文字幕在线观看| 精品系列免费在线观看| 欧美亚洲综合在线| 中文字幕精品在线不卡| 美女高潮久久久| 欧美日韩一区在线| 中文字幕在线不卡一区二区三区| 免费日韩伦理电影| 色菇凉天天综合网| 中文字幕巨乱亚洲| 美腿丝袜在线亚洲一区| 91天堂素人约啪| 国产欧美一区二区在线观看| 免费观看在线色综合| 欧美性生活久久| 中文字幕一区二区三区在线播放 | 首页国产欧美日韩丝袜| 91网站黄www| 国产精品色呦呦| 国产一区二区三区免费| 91麻豆精品91久久久久同性| 亚洲精品欧美二区三区中文字幕| 国产成人av电影免费在线观看| 91精品国产一区二区三区蜜臀| 有码一区二区三区| 91亚洲精华国产精华精华液| 日本一区二区久久| 国产精品中文字幕日韩精品| 日韩欧美国产午夜精品| 日韩精品电影在线观看| 欧美色图12p| 亚洲国产一区二区三区| 在线看日韩精品电影| 亚洲欧美一区二区三区国产精品 | 精品久久久久久无| 日韩av一级片| 91精品国产综合久久精品性色| 亚洲精品午夜久久久| 色婷婷av一区二区三区之一色屋| 亚洲视频免费观看| 91亚洲精品久久久蜜桃网站| 亚洲日本在线a| 色成年激情久久综合| 亚洲午夜精品在线| 欧美日韩一区二区三区不卡| 亚洲mv大片欧洲mv大片精品| 欧美综合天天夜夜久久| 国产精品理论片在线观看| 精品无人码麻豆乱码1区2区| 精品日韩一区二区|