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

📄 menu.js

📁 物业管理和办公自动化系统
💻 JS
📖 第 1 页 / 共 3 页
字号:
//要获得最新版本的菜单,请访问http://www.0755i.com/

var mmenus    = new Array();
var misShow   = new Boolean(); 
misShow=false;
var misdown   = new Boolean();
misdown=false;
var mnumberofsub=0;
var musestatus=false;
var mpopTimer = 0;
mmenucolor='Menu';							mmenucolor="#508CFF";
mmenubg = "../images/bg/ctxb.gif";
mfontcolor='MenuText';						mfontcolor="white";
mmenuoutcolor='#B5BED6';				mmenuoutcolor="#508CFF";
mmenuincolor='#B5BED6';					mmenuincolor="#508CFF";
mmenuoutbordercolor='#000000';		mmenuinbordercolor="white";
mmenuinbordercolor='#000000';			mmenuoutbordercolor = 'white';
mmidoutcolor='#8D8A85';					mmidoutcolor='white';
mmidincolor='#8D8A85';					mmidincolor='white';
mmenuovercolor='MenuText';				mmenuovercolor="red";
mitemedge='0';
msubedge='0';
mmenuunitwidth=70;
mmenuitemwidth=110;
mmenuheight=20;
mmenuwidth='100%';
mmenuadjust=0;
mmenuadjustV=0;
mfonts='font-family: 宋体; font-size: 9pt; color: MenuText; ';	 mfonts='font-family: 宋体; font-size: 9pt; color: white; ';
mcursor='default';		mcursor="hand";



function stoperror()
{
	return true;
}

window.onerror=stoperror;

function mpopOut() 
{
   mpopTimer = setTimeout('mallhide()', 500);
}

function getReal(el, type, value)
{
	temp = el;
	while ((temp != null) && (temp.tagName != "BODY"))
	{
		if (eval("temp." + type) == value)
		{
			el = temp;
			return el;
		}
		temp = temp.parentElement;
	}
	return el;
}


function mMenuRegister(menu) 
{
	mmenus[mmenus.length] = menu;
	return (mmenus.length - 1);
}

function mMenuItem(caption,command,target,isline,statustxt,level,img,sizex,sizey,pos)
{
	this.items = new Array();
	this.caption=caption;
	this.command=command;
	this.target=target;
	this.isline=isline;
	this.statustxt=statustxt;
	if(level!=null)
	{
		mnumberofsub++;
		this.hasc=mnumberofsub;
	}
	this.level=level;
	this.img=img;
	this.sizex=sizex;
	this.sizey=sizey;
	this.pos=pos;
}

function mMenu(caption,command,target,img,sizex,sizey,pos)
{
	this.items = new Array();
	this.caption=caption;
	this.command=command;
	this.target=target;
	this.img=img;
	this.sizex=sizex;
	this.sizey=sizey;
	this.pos=pos;
	this.id=mMenuRegister(this);
}

function mMenuAddItem(item)
{
	this.items[this.items.length] = item
	item.parent = this.id;
	this.children=true;
}

mMenu.prototype.addItem = mMenuAddItem;
mMenuItem.prototype.addsubItem = mMenuAddItem;

function mtoout(src)
{

src.style.borderLeftColor=mmenuoutbordercolor;
src.style.borderRightColor=mmenuinbordercolor;
src.style.borderTopColor=mmenuoutbordercolor;
src.style.borderBottomColor=mmenuinbordercolor;
src.style.backgroundColor=mmenuoutcolor;
src.style.color=mmenuovercolor;
}

function mtoin(src)
{
	src.style.borderLeftColor=mmenuinbordercolor;
	src.style.borderRightColor=mmenuoutbordercolor;
	src.style.borderTopColor=mmenuinbordercolor;
	src.style.borderBottomColor=mmenuoutbordercolor;
	src.style.backgroundColor=mmenuincolor;
	src.style.color=mmenuovercolor;
}

function mnochange(src)
{
	src.style.borderLeftColor=mmenucolor;
	src.style.borderRightColor=mmenucolor;
	src.style.borderTopColor=mmenucolor;
	src.style.borderBottomColor=mmenucolor;
	src.style.backgroundColor='';
	src.style.color=mfontcolor;
}

function HideElement(menuid, elmID)
{

	//------------------------------------------------------------------------
	// 下拉菜单的位置,即offsetLeft, offsetRight, offsetTop, offsetBottom 
	//------------------------------------------------------------------------
	var x1 = menuid.style.pixelLeft;
	var x2 = menuid.style.pixelLeft + mmenuitemwidth;
	var y1 = menuid.style.pixelTop;
	var y2 = menuid.style.pixelTop + menuid.offsetHeight;

	
	// 以下查找elmID对象,根据elmID和菜单是否重叠,如果有重叠部分,则隐藏elmID对象
	// 查找时首先查找 IFRAME 对象中的 elmID 对象
	// 然后查找本页中的 elmID 对象
	// 简单起见,不考虑 IFRAME 中又包含 IFRAME 的情况

	var obj, objLeft, objTop, objRight, objBottom, objParent;
	var objArray;

	// 查找 IFRAME 对象中的 elmID 对象
	objArray = document.all.tags("IFRAME");
	for (var j=0; j<objArray.length; j++)
	{ 
		obj = objArray(j);
		
		objLeft = obj.offsetLeft;
		objTop = obj.offsetTop;
		objParent = obj.offsetParent;

		//------------------------------------------------------------------------
		// 找到 IFRAME 元素相对于 BODY 的位置 offsetLeft, offsetTop, offsetRight, offsetBottom
		//------------------------------------------------------------------------
		while (objParent.tagName.toUpperCase() != "BODY")
		{
			objLeft += objParent.offsetLeft;
			objTop += objParent.offsetTop;
			objParent = objParent.offsetParent;
		}

		// 找到 IFRAME 页中的elmID对象相对于IFRAME对象的相对位置(即相对于IFRAME页中的BODY元素),
		var objArrayInnerFrame = document.frames(j).document.all.tags(elmID);
		for (var k=0; k<objArrayInnerFrame.length; k++)
		{
			objInnerFrame = objArrayInnerFrame(k);
			objInnerFrameLeft = objInnerFrame.offsetLeft;
			objInnerFrameTop = objInnerFrame.offsetTop;
			objInnerFrameParent = objInnerFrame.offsetParent;

			//------------------------------------------------------------------------
			// 找到元素相对于 BODY 的位置 offsetLeft, offsetTop, offsetRight, offsetBottom
			//------------------------------------------------------------------------
			while (objInnerFrameParent.tagName.toUpperCase() != "BODY")
			{
				objInnerFrameLeft += objInnerFrameParent.offsetLeft;
				objInnerFrameTop += objInnerFrameParent.offsetTop;
				objInnerFrameParent = objInnerFrameParent.offsetParent;
			}

			// IFRAME 中的elmID对象相对于页面BODY的位置=IFRAME相对BODY的位置+elmID相对于IFRAME的位置
			objLeft += objInnerFrameLeft;
			objTop += objInnerFrameTop;
			objRight = objLeft + objInnerFrame.offsetWidth;
			objBottom = objTop + objInnerFrame.offsetHeight;

			// 调用bHide()函数,判断菜单和elmID对象是否有重叠的部分
			if (bHide(objLeft, objRight, objTop, objBottom, x1, x2, y1, y2) == true)
			{
				objInnerFrame.style.visibility = "hidden";
			}
		}
	}
		
	// 隐藏页面中的 elmID 对象
	objArray = document.all.tags(elmID);
	for (var j=0; j<objArray.length; j++)
	{
		obj = objArray(j);
		objLeft = obj.offsetLeft;
		objTop = obj.offsetTop;
		objParent = obj.offsetParent;
		
		//------------------------------------------------------------------------
		// 找到元素相对于 BODY 的位置 offsetLeft, offsetTop, offsetRight, offsetBottom
		//------------------------------------------------------------------------
		while (objParent.tagName.toUpperCase() != "BODY")
		{
			objLeft += objParent.offsetLeft;
			objTop += objParent.offsetTop;
			objParent = objParent.offsetParent;
		}
		objRight = objLeft + obj.offsetWidth;
		objBottom = objTop + obj.offsetHeight;

		// 调用bHide()函数,判断菜单和elmID对象是否有重叠的部分
		if (bHide(objLeft, objRight, objTop, objBottom, x1, x2, y1, y2) == true)
		{
			obj.style.visibility = "hidden";
		}
	}
}

function bHide(objLeft, objRight, objTop, objBottom, x1, x2, y1, y2)
{
		//------------------------------------------------------------------------
		// 只要对象的左边线在菜单覆盖范围内或右边线在菜单覆盖范围内
		// 同时对象的上边线在菜单覆盖范围内或下边线在菜单覆盖范围内
		// 也就是说,对象的某一个点在菜单覆盖范围内,就将该对象的显示属性 visibility 设为隐藏 hidden
		//		---------
		//		|		  |
		//		|	------——————
		//		|	|     |				   |
		//		---------				   |
		//			|                      |
		//			|                      |
		//			--————————
		//------------------------------------------------------------------------
		var bHorizon = (objLeft > x1 && objLeft < x2) || (objRight  > x1 && objRight  < x2);
		var bVertical = (objTop > y1 && objTop  < y2) || (objBottom > y1 && objBottom < y2);
		if (bVertical && bHorizon) return true;
		
		//------------------------------------------------------------------------
		// 对象的上边线或下边线在菜单覆盖范围内,并且对象的左边线在菜单的左边线的左面,对象的右边线在菜单的右边线的右面
		//		--------------------------
		//		|	------——————	|
		//		|	|     				   |	|
		//		---+-----------------+---
		//			|                      |
		//			|                      |
		//			--————————
		//------------------------------------------------------------------------
		var b1 = (objTop > y1 && objTop < y2) || (objBottom > y1 && objBottom < y2);
		var b2 = (objLeft < x1 && objRight > x2);
		if (b1 && b2) return true;
		
		//------------------------------------------------------------------------
		// 对象的左边线或右边线在菜单覆盖范围内,并且对象的上边线在菜单的上边线的上面,对象的下边线在菜单的下边线的下面
		//		-------
		//		|	---|-——————-
		//		|	|	|				   |
		//		|	|	|				   |
		//		|	|	|                  |
		//		|	|	|                  |
		//		|	---+——————-
		//		|		|	
		//		-------
		//------------------------------------------------------------------------
		var b3 = (objLeft > x1 && objLeft < x2) || (objRight > x1 && objRight < x2);
		var b4 = (objTop < y1 && objBottom > y1);
		if (b3 && b4) return true;
		return false;
}

function ShowElement(elmID)
{

⌨️ 快捷键说明

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