⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.js

📁 PHP+IIS+MySQL开发物流管理系统
💻 JS
📖 第 1 页 / 共 2 页
字号:
//****************************************************//                TaskMenu 3.0//   		   静静的黎明 //           http://www.docode.cn //**************************************************** /////////////////////////////////////////////////////////////////////////////////var INF_IS_IEXPLORER = (navigator.userAgent.indexOf("MSIE") == -1)? false : true;var INF_IS_MENU_BEHAVIOR_AUTO       = true;var INF_IS_SCROLLBAR_ENABLED        = false;////////////////////////////////////////////////////////////////////*** CONFIG ***////////////////////////////var CFG_FRAME_COUNT                 = 6;var CFG_DOCUMENT_MARGIN             = 12;var CFG_MENU_SPACING                = 15;var CFG_MENU_WIDTH                  = 185;var CFG_SCROLLBAR_WIDTH             = 17;var CFG_TITLEBAR_HEIGHT             = 25;var CFG_TITLEBAR_LEFT_WIDTH         = 13;var CFG_TITLEBAR_RIGHT_WIDTH        = 25;var CFG_TITLEBAR_MIDDLE_WIDTH = CFG_MENU_WIDTH - CFG_TITLEBAR_LEFT_WIDTH - CFG_TITLEBAR_RIGHT_WIDTH;var CFG_TITLEBAR_BORDER_WIDTH       = 0;var CFG_MENUBODY_PADDING            = 9;var CFG_MENUBODY_BORDER_WIDTH       = 1;var CFG_SLEEP_TIME_BEGIN            = 20;var CFG_SLEEP_TIME_END              = 60;var CFG_ALPHA_STEP = Math.ceil( 100 / (CFG_FRAME_COUNT) );var CFG_IS_SCROLLBAR_ENABLED        = true;var CFG_IS_SPECIAL_HEAD_NODE        = false;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////if(new Array().push == null){	//usage: array.push(Array); for ie5.0	Array.prototype.push = function()	{		this[this.length] = arguments[0];		return this.length;	}}if(new Array().splice == null){	/// usage: array.splice(startPos,deleteCount,[item1,item2,...]);for ie5.0	Array.prototype.splice = function()	{		if(arguments.length < 2 || arguments[1] < 0) 			return new Array();		var endPoint1 = arguments[0];			if(endPoint1 < 0 && Math.abs(endPoint1) > this.length)			endPoint1 = 0;		var startPoint2 = (endPoint1 < 0)? (this.length + endPoint1 + arguments[1]) : (endPoint1 + arguments[1]);		var bArray = this.slice(0,endPoint1);			var dArray = this.slice(endPoint1,startPoint2);		var eArray = this.slice(startPoint2);		var nArray = new Array();		for(var i = 2; i < arguments.length; i++)		{			nArray.push(arguments[i]);		}			var fArray = bArray.concat(nArray,eArray);		for(var i = 0; i < fArray.length; i++)		{			this[i] = fArray[i];		}		this.length = fArray.length;				return dArray;	}}			/////////////////////////////////////////////////////////////////		function TaskMenuState(){}TaskMenuState.uninited      =  0;TaskMenuState.open          =  1;TaskMenuState.close         =  2;TaskMenuState.opening       =  4;TaskMenuState.closing       =  8;TaskMenuState.transforming  = 16;function TaskMenuItem(strLabel,strIcon,strCommand){	this.label      = strLabel;	this.icon       = strIcon;	this.command    = strCommand;	this.hItem      = null;	this.hLabel     = null;	this.hIcon      = null;	this.hLabelCell = null;	this.container  = null;	this.operTimer  = null;	this.tranTimer  = null;	this.operStep   = 0;	this.tranStep   = 0;	this.operCount  = 0;	this.tranCount  = 0;	this.init = function()	{		(this.hLabel = document.createElement("FONT")).reflectClass = this;		with(this.hLabel)		{				reflectClass = this;		}		with(this.hItem = document.createElement("TABLE"))		{				cellPadding = 0;			cellSpacing = 0;			style.width = "100%";		}		(itemRow = this.hItem.insertRow(0)).className="MenuItemRow";		with(blankCell = itemRow.insertCell(0))		{			style.width = (CFG_MENUBODY_PADDING - 2) +"px";		}		with(iconCell = itemRow.insertCell(1))		{			align  = "RIGHT";			style.cssText = "width:18px;vertical-align:top;padding-top:3px";									with(this.hIcon = iconCell.appendChild(document.createElement("DIV")))			{				className = "IconContainer";			}		}				with(this.hLabelCell = itemRow.insertCell(2))		{			style.padding = "2px " + CFG_MENUBODY_PADDING +"px 2px 5px";			appendChild(this.hLabel);						}		with(this)		{			setIcon(icon);	setLabel(label); setCommand(command);		}	}	this.getLabel = function()	{		return this.label;	}	this.setLabel = function(strLabel)	{		this.hLabel.innerHTML = this.label = strLabel;	}	this.getIcon = function()	{		return this.icon;	}	this.setIcon = function(strIcon)	{		this.icon = strIcon;		while(this.hIcon.firstChild != null)		{			this.hIcon.removeChild(this.hIcon.firstChild);		}		if(this.icon != null)		{			with(this.hIcon)			{								style.width = "18px";				parentNode.style.width = "18px";				with(appendChild(new Image()))				{					src= this.icon;				}			}		}		else		{			this.hIcon.style.width = "0px";			this.hIcon.parentNode.style.width = "0px";		}	}	this.getCommand = function()	{		return this.command;	}	this.setCommand = function(strCommand)	{		if( (this.command = strCommand) != null)		{			JS.addListener(this.hLabel,"mouseover",TaskMenuItem.onMouseBehavior,false);			JS.addListener(this.hLabel,"mouseout",TaskMenuItem.onMouseBehavior,false);			JS.addListener(this.hLabel,"click",TaskMenuItem.onClick,false);			this.hLabel.className = "MenuItemLabel";		}				else		{			JS.removeListener(this.hLabel,"mouseover",TaskMenuItem.onMouseBehavior,false);			JS.removeListener(this.hLabel,"mouseout",TaskMenuItem.onMouseBehavior,false);			JS.removeListener(this.hLabel,"click",TaskMenuItem.onClick,false);			this.hLabel.className = "MenuItemLabelDisabled";		}	}	this.runCommand = function()		{		try		{				eval(this.command);			}		catch(ex)		{				alert("Javascript Error:" + ex.description);			}	}	this.cloneNode = function()	{		return new TaskMenuItem(this.label,this.icon,this.command);	}	this.init();}TaskMenuItem.onMouseBehavior = function(){	with(JS.getSourceElement(arguments[0]))	{		if(arguments[0].type.toUpperCase() == "MOUSEOVER")			className = "MenuItemLabelMouseOver";				else			className = "MenuItemLabel"; 	}	}TaskMenuItem.onClick = function(){	var refClass = JS.getSourceElement(arguments[0]).reflectClass;	if(refClass != null) refClass.runCommand();}function TaskMenu(strLabel,menuState){	this.menuID;	this.label       = strLabel;	this.state       = menuState;	this.items       = [];	this.hLabel      = null;	this.hArrayCell  = null;	this.titlebar    = null;	this.menuBody    = null;	this.previous    = null;	this.next        = null;	this.background  = null;	this.operationTimer;	this.transformTimer;	this.invalidateTimer	this.operationStep;	this.transformStep;	this.operationSleep;	this.transformSleep;	this._getAlphaOpacity = function()	{		try		{			if(INF_IS_IEXPLORER)					return this.menuBody.filters.alpha.opacity;			else				return this.menuBody.style.MozOpacity * 100;		}		catch(ex)		{			return 100;		}		}	this._setAlphaOpacity = function(n)	{		try		{			if(INF_IS_IEXPLORER)				this.menuBody.filters.alpha.opacity = n;			else				this.menuBody.style.MozOpacity = n / 100;		}		catch(ex)		{}		}	this._clearItem = function()	{		for(var i =0; i< this.items.length; i++)		{			this.items[i].container = null;		}		this.items = new Array();	}	this._clearMenu = function()	{		if(this.menuBody == null) return;		while(this.menuBody.firstChild != null)			this.menuBody.removeChild(this.menuBody.firstChild);	}	this._setMenuFixed = function(bFlag)	{		if(this.menuBody == null) return;		if(bFlag == true)			{			this.menuBody.style.overflow = "hidden";		}		else		{			this.menuBody.style.overflow = "visible";			this.menuBody.style.height   = "auto";			}				}	this._setMenuHeight = function(height)	{		if(INF_IS_IEXPLORER)			this.menuBody.style.height = height + "px";		else			this.menuBody.style.height = ( height - (2 * CFG_MENUBODY_PADDING + CFG_MENUBODY_BORDER_WIDTH) ) + "px";	}	this._getMenuHeight = function()	{		if(INF_IS_IEXPLORER)			return this.menuBody.scrollHeight + CFG_MENUBODY_BORDER_WIDTH;		else		{			var scrollHeight = 0;			for(var i = 0; i < this.menuBody.childNodes.length; i++)			{				scrollHeight += this.menuBody.childNodes[i].offsetHeight;						}			return scrollHeight + CFG_MENUBODY_BORDER_WIDTH + 2 * CFG_MENUBODY_PADDING;		}	}		this._getScrollWidth = function()	{		return (INF_IS_SCROLLBAR_ENABLED)? CFG_SCROLLBAR_WIDTH : 0	}		this._fixMenuWidth = function(value)	{		var titlebarWidth = ( CFG_MENU_WIDTH + ( (INF_IS_IEXPLORER)? 0 : ( -2 * CFG_TITLEBAR_BORDER_WIDTH ) ) );		var menuBodyWidth = ( CFG_MENU_WIDTH + ( (INF_IS_IEXPLORER)? 0 : ( -2 * CFG_MENUBODY_BORDER_WIDTH ) ) );		var labelCell = this.titlebar.firstChild.rows[0].cells[1];		var scrollbarWidth = this._getScrollWidth();		this.hLabel.style.width   = (CFG_TITLEBAR_MIDDLE_WIDTH - scrollbarWidth) + "px";		labelCell.style.width     = (CFG_TITLEBAR_MIDDLE_WIDTH - scrollbarWidth) + "px";		this.titlebar.style.width = (titlebarWidth - scrollbarWidth) + "px";		this.menuBody.style.width = (menuBodyWidth - scrollbarWidth) + "px";				this._invalidate(true);	}	this._fixedMenuPosWhileClose = function()	{			var scrollHeight = this._getMenuHeight();		this._setMenuHeight(scrollHeight);		this.menuBody.style.top = (this.titlebar.offsetTop + CFG_TITLEBAR_HEIGHT - scrollHeight) + "px";		this.menuBody.style.clip = "rect(" + scrollHeight +" auto " + scrollHeight + " auto)";			this._setAlphaOpacity(0);	}	this._attachState = function(state)	{		switch(state)		{			case TaskMenuState.open:			case TaskMenuState.close:			case TaskMenuState.opening:			case TaskMenuState.closing:				this.state >>= 4;				this.state <<= 4;			case TaskMenuState.transforming:				this.state |= state;			break;			case TaskMenuState.uninited:				this.state = state;			break;		}	}	this._removeState = function(state)	{		if(this.state & state)	this.state ^= state;		}	this._invalidate = function(bForce)	{		if(INF_IS_MENU_BEHAVIOR_AUTO == true || bForce == true)		{			this.invalidate();		}	}	this._extend = function()	{		if(this.state & TaskMenuState.close)		{			this._fixedMenuPosWhileClose();			this._removeState(TaskMenuState.transforming);		}		else		{			if(this.menuBody.offsetHeight + this.transformStep < this._getMenuHeight())			{				this._setMenuHeight(this.menuBody.offsetHeight + this.transformStep);				this.transformTimer = setTimeout("TaskMenu.collection[" + this.menuID + "]._extend()",this.transformSleep += 5);			}			else			{				this._setMenuHeight(this._getMenuHeight());						this._removeState(TaskMenuState.transforming);				}		}		if(this.next != null) this.next._moveTo();		TaskMenu._refreshAll();	}	this._shorten = function()	{		if(this.state & TaskMenuState.close)		{			this._fixedMenuPosWhileClose();			this._removeState(TaskMenuState.transforming);		}		else		{				if(this.menuBody.offsetHeight + this.transformStep > this._getMenuHeight())			{					this._setMenuHeight(this.menuBody.offsetHeight + this.transformStep);				this.transformTimer = setTimeout("TaskMenu.collection[" + this.menuID + "]._shorten()",this.transformSleep += 5);			}			else			{				this._setMenuHeight(this._getMenuHeight());				this._removeState(TaskMenuState.transforming);			}		}		if(this.next != null) this.next._moveTo();		TaskMenu._refreshAll();	}	this._appendItems = function()	{		if(this.menuBody == null || this.items.length == 0)return;		for(var i = 0; i < this.items.length; i++)			this.menuBody.appendChild(this.items[i].hItem);	}	this._isSpecialHeadNode = function()	{		return CFG_IS_SPECIAL_HEAD_NODE && this == TaskMenu.headNode;	}		this._open = function()	{		var titlebarBottom = this.titlebar.offsetTop + CFG_TITLEBAR_HEIGHT;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -