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

📄 mainmenu.js

📁 花钱买的毕业设计。企业网络管理系统
💻 JS
字号:
//装载Menu.js文件
System.LoadUnit("Menu");
var cMainMenuHTMLBeforeItems = "<table id=\"?id?\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>\n";
var cMainMenuHTMLAfterItems = "</tr></table>\n";
//定义全局变量保存所有的被定义的MainMenu
var arrAllMainMenu = [];

function MainMenu(id,cls,onclick,onmouseover,onmouseout)
{
	//在全局变量中加入该MainMenu
	arrAllMainMenu[id] = this;
	this.Id = id;
	//保存当前显示的子菜单
	this.ItemOnShow = "";
	this.MenuLevel = 0;
	//MainMenu显示的样式
	if(typeof(cls)=="undefined")
		this.Class = "mainmenu";
	else
		this.Class = cls;
	//MainMenu的Click事件,缺省为MainMenuOnClick
	if(typeof(onclick)=="undefined")
		this.OnClick = MainMenuOnClick;
	else
		this.OnClick = onclick;
	//MainMenu的OnMouseOver事件,缺省为MainMenuOnMouseOver
	if(typeof(onmouseover)=="undefined")
		this.OnMouseOver = MainMenuOnMouseOver;
	else
		this.OnMouseOver = onmouseover;
	//MainMenu的OnMouseOut事件,缺省为MainMenuOnMouseOut
	if(typeof(onmouseout)=="undefined")
		this.OnMouseOut = MainMenuOnMouseOut;
	else
		this.OnMouseOut = onmouseout;
	//MainMenud的所有子菜单项数组
	this.Items = [];
	//向MainMenu中添加子菜单项
	this.Add = function(id,text,cls,onclick)
	{
		this.AddItem(new MenuItem(id,text,cls,onclick));
	}
	this.AddItem = function(mi)
	{
		var len = this.Items.length;
		this.Items[len] = mi;
		mi.MenuLevel = 1;
		mi.Parent = this;
		mi.Path += "arrAllMainMenu[\"" + this.Id + "\"].Items[" + len + "]";
	}
	//查询MainMenu中的子菜单项,可以介绍菜单项id或者菜单项在MainMenu中索引为参数
	this.Item = function(index)
	{
		var itm = null;
		if(typeof(index) == "string")
		{
			var i;
			for(i=0;i<this.Items.length;i++)
				if(this.Items[i].Id == index)
					itm = this.Items[i];
		}
		else if(typeof(index) == "number")
			itm = this.Items[index];
		return itm;
	}
	this.HTMLBeforeItems = function()
	{
		var strOutput;
		strOutput = cMainMenuHTMLBeforeItems.replace("?id?",this.Id);
		return strOutput;
	}
	this.WriteHTML = function()
	{
		var i;
		document.write(this.HTMLBeforeItems());
		for(i=0;i<this.Items.length;i++)
			document.write("<td id=\""+ this.Items[i].Id +"\"></td>");
		document.write(cMainMenuHTMLAfterItems);
		
		for(i=0;i<this.Items.length;i++)
		{
			var sub = this.Items[i].SubItems;
			if(sub != null)
			{
				sub.WriteHTML();
				sub.WriteItemsHTML();
			}
		}
	}
	this.UpdateHTML = function()
	{
		var ctl = document.all(this.Id);
		ctl.className = this.Class;
		ctl.menulevel = this.MenuLevel;
		ctl.onclick = this.OnClick;
		ctl.onmouseover = this.OnMouseOver;
		ctl.onmouseout = this.OnMouseOut;

		var i;
		for(i=0;i<this.Items.length;i++)
		{
			var itm = this.Items[i];
			var ctl = document.all(itm.Id);	
			ctl.innerHTML = "&nbsp;" + itm.Text + "&nbsp;";
			ctl.title = itm.Hint;
			ctl.className = itm.Class;
			ctl.tag = itm.Tag;
			ctl.onclick = itm.OnClick;
			ctl.menulevel = 0;
			if(itm.SubItems != null)
			{
				ctl.menuitem = itm.SubItems.Id;
				itm.SubItems.UpdateHTML();
				itm.SubItems.UpdateItemsHTML();
			}
		}
	}
}

function MainMenuOnClick()
{
	event.cancelBubble = true;
	var evt = event.srcElement;
	var ctl_mm = evt.parentElement.parentElement.parentElement;
	if(arrAllMainMenu[ctl_mm.id].ItemOnShow == "")
	{
		arrAllMainMenu[ctl_mm.id].ItemOnShow = evt.menuitem;
		PopMenuOnShow(evt.menuitem,ctl_mm.offsetLeft+evt.offsetLeft,ctl_mm.offsetTop+ctl_mm.offsetHeight+1);
		evt.className = "menuitemsinset";
	}
	else
	{
		PopMenuOnHide();
		arrAllMainMenu[ctl_mm.id].ItemOnShow = "";
		evt.className = "menuitemsoutset";
	}
}

function MainMenuOnMouseOver()
{
	var evt = event.srcElement;
	var ctl_mm = evt.parentElement.parentElement.parentElement;
	if(evt.menulevel=="0")
	{
		evt.className = "menuitemsoutset";
		if((arrAllMainMenu[ctl_mm.id].ItemOnShow == evt.id) || (arrAllMainMenu[ctl_mm.id].ItemOnShow == ""))
			return;
		PopMenuOnHide();
		PopMenuOnShow(evt.menuitem,ctl_mm.offsetLeft+evt.offsetLeft,ctl_mm.offsetTop+ctl_mm.offsetHeight+1);
		arrAllMainMenu[ctl_mm.id].ItemOnShow = evt.menuitem;
	}
	else
		MenuItemOnHighLight();
}

function MainMenuOnMouseOut()
{
	var evt = event.srcElement;
	if(evt.menulevel=="0")
		evt.className = "menuitems";
	else
		MenuItemOnLowLight();
}

⌨️ 快捷键说明

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