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

📄 ig_webmenu.js

📁 研究怎样通过手写代码来完成自动生成代码
💻 JS
📖 第 1 页 / 共 5 页
字号:
		}
		if(ms.NeedPostBack)	{
			__doPostBack(ms.UniqueId,item.id+":MenuClick");
			return;
		}
	}
}

var ig_inMenu=false;
// private - Handles the mouse down event
function igmenu_mouseDown() {
	if(ig_inMenu == true) 
		return;		
	var	ms = ig_menuObject;
	if(ig_menuObject != null) {
		ms.TopHoverStarted=false;
	}
	ig_startClick = false;
	ig_inMenu = false;		
	if(ig_menuPopup != null) {
		if(ms != null)
			ms.clearMenuTree(null, true);
		ig_menuPopup.menuObject.hideSubMenu(ig_menuPopup);
		ig_menuPopup = null;
		igmenu_hideDropDowns(false);
	}
	else {
		if(ms != null)
			ms.clearMenuTree(null, true);
		igmenu_hideDropDowns(false);
	}
}

// private - Handles the mouse up event
function igmenu_mouseUp() {
	return;
}

// private - Handles mouse selection for the menu
function igmenu_selectStart() {
	window.event.cancelBubble = true; 
	window.event.returnValue = false; 
	return false;	
}

// private - Displays a submenu in the appropriate position
function igmenu_hideMenu(name, evnt, x, y) {

}

// private - Displays a submenu in the appropriate position
function igmenu_showMenu(name, evnt, x, y) {
	if(ig_menuPopup != null) {
		if(ig_menuObject)
		{
			ig_menuObject.clearMenuTree(null, true);		
			ig_menuObject.hideSubMenu(ig_menuPopup);
		}
		/*ig_menuPopup.style.visibility = 'hidden';*/
		ig_menuPopup = null;
		igmenu_hideDropDowns(false);
	}
	var item = igmenu_getElementById(name + "_MainM");
	if(evnt == null)
		evnt = window.event;
	if(item != null) {
		if(x && y) {
			item.style.left = x;
			item.style.top = y;	
		}
		else {
			if(ig_csom.IsIE) {
				
				y = evnt.y - 2 + document.body.scrollTop;	
				x = evnt.x - 2 + document.body.scrollLeft;
			}
			else {
				y = evnt.clientY - 2 + document.body.scrollTop;	
				x = evnt.clientX - 2 + document.body.scrollLeft;
			}
			var src = ig_csom.getSourceElement(evnt);
			if(src) {
				var parent = src;
				var tmpX = x;
				var tmpY = y;
				var set = false;
				while (parent != null) {
					if(parent.style.position=="relative") {
						set = true;
						tmpX = 0;
						tmpY = 0;
					}
					tmpX += parent.offsetLeft;
					tmpY += parent.offsetTop;
					parent = parent.offsetParent;
				}
				if(set) {
					x += tmpX;
					y += tmpY;
				}
			}
			var parent = item;
			while (parent != null) {
				if(parent.style.position=="absolute") {
					x -= parent.offsetParent.offsetLeft;
					y -= parent.offsetParent.offsetTop;
					break;
				}
				parent = parent.offsetParent;
			}

			item.style.top  = y;	
			item.style.left = x;
		}
		ig_menuPopup = item;

		var ms = igmenu_getMenuById(name);
		if(ms==null)
			return;
		if(!ig_csom.IsIE55Plus && ms.HideDropDowns) 
			igmenu_hideDropDowns(true);
		ms.displaySubMenu(item, null, true);
		ig_menuPopup.menuObject = ms;
		ig_menuObject=ms;
	}
}

// private - Initializes an Item object with properties and method references
function igmenu_initItem(item)
{
	this.element=item;
	this.Element=item;
	this.Id = item.id;
	this.WebMenu = igmenu_getMenuByItemId(this.Id);
	this.getElement=igmenu_getElement;
	this.getMenuId=igmenu_getMenuId;
	this.getText=igmenu_getText;
	this.setText=igmenu_setText;
	this.getTag=igmenu_getTag;
	this.setTag=igmenu_setTag;
	this.getHoverClass=igmenu_getHoverClass;
	this.setHoverClass=igmenu_setHoverClass;
	this.getEnabled=igmenu_getEnabled;
	this.setEnabled=igmenu_setEnabled;
	this.getTargetFrame=igmenu_getTargetFrame;
	this.setTargetFrame=igmenu_setTargetFrame;
	this.getTargetUrl=igmenu_getTargetUrl;
	this.setTargetUrl=igmenu_setTargetUrl;
	this.getNextSibling=igmenu_getItemNextSibling;
	this.getPrevSibling=igmenu_getItemPrevSibling;
	this.getFirstChild=igmenu_getItemFirstChild;
	this.getParent=igmenu_getItemParent;
	this.getItems=igmenu_getItemItems;
	this.setChecked=igmenu_setChecked;
	this.getChecked=igmenu_getChecked;
	this.getAccessKey=igmenu_getAccessKey;
	this.getLevel = function () {
		var itemName=this.element.id.split("_")
		if(itemName.length>1)
		{
			return itemName.length - 2;			
		}
	}
	this.getIndex = function () {
		var index=0;
		var itemName=this.element.id.split("_")
		if(itemName.length>1)
		{
			index = parseInt(itemName[itemName.length-1]);
			return index-1;
		}
	}
	this.IsSeparator = function()
	{
		var igSeparator = item.getAttribute("igSep");
		return (null!=igSeparator && igSeparator.length > 0);
	}
}

// private
function igmenu_getElement() {
	return this.item;
}
// private
function igmenu_getMenuId() {
	var menuName = this.element.id;
	var strArray = menuName.split("_");
	menuName = strArray[0];
	return menuName;
}
// private
function igmenu_getText() {
	if(this.element.tagName == "TR"){
		var i = 0;
		var td;
		td = this.element.childNodes[0]
		while(td.childNodes[i] != null) {
			if(td.childNodes[i].tagName == "DIV") {
				var txt = td.childNodes[i].getAttribute("igtxt");
				if(txt != null)
					return td.childNodes[i].innerHTML;
			}
			i++;
		}
		return null;
	}
	else
		return this.element.innerHTML;
}
// private 
function igmenu_getAccessKey()
{
	if(this.element.tagName == "TR"){
		var i = 0;
		var td;
		if(ig_csom.IsIE)
			td = this.element.childNodes[0];
		else
			td = this.element.childNodes[1];
		while(td.childNodes[i] != null) {
			if(td.childNodes[i].tagName == "DIV") {
				return  td.accessKey;
				
			}
			i++;
		}
		return "";
	}	
	else
		return this.element.accessKey;

}
// private
function igmenu_setText(text) {
	if(this.element.tagName == "TR") {
		var i = 0;
		var td = this.element.childNodes[0]
		while(td.childNodes[i] != null) {
			if(td.childNodes[i].tagName == "DIV") {
				var txt = td.childNodes[i].getAttribute("igtxt");
				if(txt != null)
					td.childNodes[i].innerHTML = text;
			}
			i++;
		}
		return null;
	}
	else
		this.element.innerHTML = text;
}
// private
function igmenu_getTag() {
	var a = this.element.getAttribute("igTag");
	if(a!=null && a.length>0)
		return a;
	else
		return null;
}
// private
function igmenu_setTag(text) {
	this.element.setAttribute("igTag", text);
}
// private
function igmenu_getHoverClass() {
	return this.element.getAttribute("igHov")
}
// private
function igmenu_setHoverClass(hoverClass) {
	this.element.setAttribute("igHov", hoverClass)
}

// private
function igmenu_getItemTdTag(e) {
	if(e.tagName=="TD")
		return e;
	var i = e.childNodes.length;
	while(i-- >= 0) {
		if(e.childNodes[i].tagName == "TD")
			return e.childNodes[i];
	}
}
// private
function igmenu_getEnabled() {
	if(this.element != null) {
		return(this.element.getAttribute("igDisabled")?false:true);
	}
}
// private
function igmenu_setEnabled(enabled) {
	if(this.element != null) {
		var e = igmenu_getItemTdTag(this.element);
		
		if(enabled == true) {
			if(this.element.getAttribute("igDisabled") == null)
				return;
			this.element.removeAttribute("igDisabled");
			var oldClass=e.getAttribute("oldEnabledClass");
			var oMenu = igmenu_getMenuById(this.getMenuId());
			if(oldClass == null && oMenu.DefaultItemClass != null)
				e.className = oMenu.DefaultItemClass;
			else				
				e.className = oldClass;
			e.removeAttribute("oldEnabledClass");
		}
		else {
			if(this.element.getAttribute("igDisabled") == "1")
				return;
			var ms = igmenu_getMenuById(this.getMenuId());
			var disabledClass = ms.DisabledClass;
			this.element.setAttribute("igDisabled", "1");			
			if(e.className!=ms.HoverClass && e.className!=e.getAttribute("igHov"))
			{
				var oldClass = e.className;	
				e.setAttribute("oldEnabledClass", oldClass);
			}
			e.className=disabledClass;
			e.removeAttribute("igtInitClass");
		}
	}
}
// private
function igmenu_getTargetFrame() {
	var frame = this.element.getAttribute("igFrame");
	if(ig_csom.notEmpty(frame))
		return frame;
	else
	if(ig_csom.notEmpty(this.WebMenu.TargetFrame)) {
		return this.WebMenu.TargetFrame;
	}
	else
		return null;
}
// private
function igmenu_setTargetFrame(frame) {
	this.element.setAttribute("igFrame", frame)
}
// private
function igmenu_getTargetUrl() {
	var url = this.element.getAttribute("igUrl");
	if(ig_csom.notEmpty(url))
		return url;
	else
	if(ig_csom.notEmpty(this.WebMenu.TargetUrl)) {
		return this.WebMenu.TargetUrl;
	}
	else
		return null;
}
// private
function igmenu_setTargetUrl(url) {
	this.element.setAttribute("igUrl", url)
}
// private
function igmenu_setChecked(bChecked) {
	var ms=igmenu_getMenuByItemId(this.element.id);
	var item = this.element;
	var checkbox=item.getAttribute("igChkBx");
	if(checkbox==null || checkbox.length==0) 
		return;

	var topItem = item.getAttribute("igTop");
	var checkElement = null;
	if(topItem == "1" && ms.MenuTarget == 1)
		checkElement = item.childNodes[0];
	else
		checkElement = item.childNodes[0].childNodes[0];

	if(!bChecked) {
		if(checkElement.tagName == "IMG")
			checkElement.src=ms.UncheckedImage;
		else
		if(checkElement.tagName == "SPAN")
			checkElement.innerHTML = "";
		item.setAttribute("igChk", "0");
	}
	else {
		if(checkElement.tagName == "IMG")
			checkElement.src=ms.CheckedImage;
		else
		if(checkElement.tagName == "SPAN")
			checkElement.innerHTML = "a";
		item.setAttribute("igChk", "1");
	}
	ms.updateItemCheck(this.element.id,bChecked);
}
// private
function igmenu_getChecked(bChecked) {
	var item = this.element;
	var checked=item.getAttribute("igChk");
	var checkbox=item.getAttribute("igChkBx");
	if(checkbox!=null && checkbox.length>0) 
		if(checked!=null && checked.length>0 && checked == '1') 
			return true;
	return false;			
}
// private - Implements GetNextSibling for the Item object
function igmenu_getItemNextSibling()
{
	var item = this.element.nextSibling;
	if(item && item.nodeName == "#text")
		item = this.element.nextSibling;
	if(item)
		item=igmenu_getItemById(item.id);
	return item;
}

// private - Implements GetPrevSibling for the Item object
function igmenu_getItemPrevSibling()
{
	var item = this.element.previousSibling;
	if(item && item.nodeName == "#text")
		item = this.element.previousSibling;
	if(item)
		item=igmenu_getItemById(item.id);
	return item;
}

// private
function igmenu_getItemFirstChild()
{
	var item=null;
	item=igmenu_getItemById(this.element.id+"_1");
	if(item==null) {
		if(this.element.getAttribute("igChildId")) {
			var index = 2;
			while(item==null && index<100) {
				item=igmenu_getItemById(this.element.id+"_"+index);
				index++
			}
		}
	}

⌨️ 快捷键说明

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