📄 ig_webmenu.js
字号:
clearCurrentMenu = false;
clearTimeout(igmenu_clearMenuId);
var currItemId = igmenu_getSubMenu(item).igCurrentItem;
if(currItemId != null && currItemId.length > 0) {
var childItem = igmenu_getElementById(currItemId)
ms.unhoverItem(childItem, true);
var thisMenu = igmenu_getSubMenu(item);
if(ig_csom.notEmpty(thisMenu.igCurrentChild)) {
var eCurrentChild = ig_csom.getElementById(thisMenu.igCurrentChild);
eCurrentChild.igCurrentChild = null;
}
}
var igSeparator = item.getAttribute("igSep");
if(igSeparator != null && igSeparator.length > 0) {
clearCurrentMenu = false;
return;
}
ms.hoverItem(item);
var childId = item.getAttribute("igChildId");
// Check that the child is not already being displayed.
var currentChildId = igmenu_getSubMenu(item).igCurrentChild;
if(ig_csom.notEmpty(childId) && childId==currentChildId) {
ms.clearDescendants(igmenu_getElementById(currentChildId), true);
var childItemId = igmenu_getElementById(childId).igCurrentItem;
if(ig_csom.notEmpty(childItemId)) {
ms.unhoverItem(igmenu_getElementById(childItemId), true);
}
// [KV 11/5/2004, 2:14 PM] Only return after making sure
// that the child is visible. Fix for UWN866
if (ig_csom.getElementById(currentChildId).style.visibility == 'visible')
return;
}
if(childId != null) {
var igDisabled = item.getAttribute("igDisabled");
var igtop = item.getAttribute("igTop");
if(igDisabled != null && igDisabled.length > 0) {
if(igtop!=null && igtop.length > 0) {
ms.clearMenuTree(null);
}
igmenu_getSubMenu(item).igCurrentItem = item.id;
return;
}
if(ms.MenuTarget == 1) {
if(ms.WebMenuStyle>=2 && ms.TopHoverStarted==false && igtop!=null && igtop.length > 0) {
return;
}
}
if(viaMouse)
if(ms.MenuTarget == 1 && ms.WebMenuStyle>=1 && igtop!=null && igtop.length > 0) {
clearTimeout(igmenu_timerId);
ms.displayHorizontalSubMenu(item, childId);
igmenu_getSubMenu(item).igCurrentChild = childId;
igmenu_getSubMenu(item).igCurrentItem = item.id;
}
else {
if(igmenu_displayItem != item) {
igmenu_displayItem = item;
igmenu_displayChildId = childId;
clearTimeout(igmenu_timerId);
clearTimeout(igmenu_clearMenuId);
igmenu_timerId = setTimeout('igmenu_displayTimeOut()', ms.ExpandEffects.Delay);
}
else {
if(ig_csom.notEmpty(igtop) && (item.previousSibling==null && item.nextSibling==null)){
igmenu_displayChildId = childId;
clearTimeout(igmenu_timerId);
clearTimeout(igmenu_clearMenuId);
igmenu_timerId = setTimeout('igmenu_displayTimeOut()', ms.ExpandEffects.Delay);
}
}
}
}
else {
if(igmenu_getSubMenu(item).igCurrentChild !=null) {
ms.clearDescendants(igmenu_getSubMenu(item), true);
clearTimeout(igmenu_timerId);
igmenu_getSubMenu(item).igCurrentChild=null;
igmenu_displayItem = null;
igmenu_getSubMenu(item).igCurrentItem=null;
}
}
}
var igmenu_timerId;
var igmenu_displayItem;
var igmenu_displayChildId;
// private - displays submenus after time expiration
function igmenu_displayTimeOut() {
if(igmenu_displayItem == null)
return;
igmenu_getSubMenu(igmenu_displayItem).igCurrentChild = igmenu_displayChildId;
igmenu_getSubMenu(igmenu_displayItem).igCurrentItem = igmenu_displayItem.id;
var ms=igmenu_getMenuByItemId(igmenu_displayItem.id);
var igtop = igmenu_displayItem.getAttribute("igTop");
if(ms.MenuTarget >= 2 && igtop != null && igtop.length > 0) {
ms.displayVerticalSubMenu(igmenu_displayItem, igmenu_displayChildId, 4);
}
else
ms.displaySubSubMenu(igmenu_displayItem, igmenu_displayChildId, 2);
}
var igmenu_clearMenuId;
// private - implements mouseout event handling
function igmenu_mouseout(submenu, evnt) {
ig_inMenu = false;
var item = igmenu_getTblRow(evnt);
if(item == null) {
clearCurrentMenu = true;
clearTimeout(igmenu_clearMenuId);
if(ig_menuObject)
igmenu_clearMenuId = setTimeout('TimerExpired()', ig_menuObject.ExpandEffects.RemovalDelay);
return;
}
var igSeparator = item.getAttribute("igSep");
var ms = igmenu_getMenuByItemId(item.id);
if((ms == undefined) || (ms.MenuLoaded==false))
return;
if(igSeparator != null && igSeparator.length > 0) {
clearCurrentMenu = true;
if(ig_csom.IsIE) {
clearTimeout(igmenu_clearMenuId);
igmenu_clearMenuId = setTimeout('TimerExpired()', ms.ExpandEffects.RemovalDelay);
}
return;
}
if(item.getAttribute("igDisabled") == "1")
return;
var currItemId = igmenu_getSubMenu(item).igCurrentItem;
var currentChildId = igmenu_getSubMenu(item).igCurrentChild
var childId = item.getAttribute("igChildId");
if(ig_csom.isEmpty(childId) || ig_csom.isEmpty(currentChildId) || childId != currentChildId) {
//if(currItemId == null || currItemId.length == 0) { // commented to allow all unhoverings to occur
ms.unhoverItem(item, true);
}
igmenu_displayItem = null;
clearCurrentMenu = true;
clearTimeout(igmenu_clearMenuId);
igmenu_clearMenuId = setTimeout('TimerExpired()', ms.ExpandEffects.RemovalDelay);
}
// private - overloaded method for getTblRow
function igmenu_getTblRowByItemElement(item)
{
return igmenu_getTblRowHelp(item);
}
// Gets the table row object for which a TD or other element event fired.
// private - obtains the row element associated with the event
function igmenu_getTblRow(evnt) {
var item;
if(ig_csom.IsNetscape6) {
item = evnt.target;
}
else
item = evnt.srcElement;
return igmenu_getTblRowHelp(item);
/* Moved to helper function
while(item.tagName != "TR") {
if(item.getAttribute != null) {
var attrib = item.getAttribute("igTop");
var submenu = item.getAttribute("submenu");
if(submenu == "1")
return null;
if(item.tagName == "TD" && attrib != null && attrib.length > 0)
return item;
}
if(item == null)
return null;
if(item.tagName == "TABLE")
return null;
item = item.parentNode;
}
return item;
*/
}
// private helper function for getTblRow and getTblRowByItemElement
function igmenu_getTblRowHelp(item)
{
while(item.tagName != "TR") {
if(item.getAttribute != null) {
var attrib = item.getAttribute("igTop");
var submenu = item.getAttribute("submenu");
if(submenu == "1")
return null;
if(item.tagName == "TD" && attrib != null && attrib.length > 0)
return item;
}
if(item == null)
return null;
if(item.tagName == "TABLE")
return null;
item = item.parentNode;
}
return item;
}
// private - Gets the table object for which a TD or other element event fired.
function igmenu_getSubMenu(item) {
submenu = false;
while(!submenu) {
var a = item.getAttribute("submenu");
if(item.getAttribute("submenu") == '1')
submenu = true;
else
item = item.parentNode;
}
return item;
}
// private
function igmenu_getRightPos(e) {
var x = e.offsetRight;
var tmpE = e.offsetParent;
while (tmpE != null) {
x += tmpE.offsetRight;
tmpE = tmpE.offsetParent;
}
return x;
}
// private
function igmenu_getLeftPos(element) {
var x = 0;
var parent = element;
while (parent != null) {
if(parent.tagName=="BODY")
break;
x += parent.offsetLeft;
parent = parent.offsetParent;
}
return x;
}
// private
function igmenu_getTopPos(element) {
var y = 0;
var parent = element;
while(parent != null) {
if(parent.tagName=="BODY")
break;
y += parent.offsetTop;
parent = parent.offsetParent;
}
return y;
}
var clearCurrentMenu = true;
// private - Clears submenus at timer expiration
function TimerExpired() {
if(clearCurrentMenu && ig_menuObject != null) {
ig_menuObject.clearMenuTree(null, true);
clearTimeout(igmenu_timerId);
igmenu_hideDropDowns(false);
}
}
// private - Handles the mouse down event
function igmenu_mousedown(table, evnt) {
var item=igmenu_getTblRow(evnt);
if(item!=null) {
ig_inMenu = true;
var igDisabled = item.getAttribute("igDisabled");
if(igDisabled != null && igDisabled.length > 0) {
return;
}
}
else
return;
var ms=igmenu_getMenuByItemId(item.id);
if(ms == null || ms.MenuLoaded == false)
return;
var attrib = item.getAttribute("igTop");
if(ms.MenuTarget == 1 && ms.WebMenuStyle>=2 && attrib!=null && attrib.length > 0){
var childId = item.getAttribute("igChildId");
if(childId!=null && childId.length > 0) {
var currentChildId = igmenu_getSubMenu(item).igCurrentChild;
if(childId != null && childId.length > 0 && childId == currentChildId) {
ms.clearMenuTree(null, true);
ig_startClick=false;
ms.TopHoverStarted = false;
ms.hoverItem(item)
return;
}
var oldClass = item.igClass;
item.setAttribute("igPrevClass", oldClass);
clearTimeout(igmenu_timerId);
ms.TopHoverStarted = true;
ms.hoverItem(item)
ms.displayHorizontalSubMenu(item, childId);
igmenu_getSubMenu(item).igCurrentChild = childId;
igmenu_getSubMenu(item).igCurrentItem = item.id;
return;
}
}
ms.TopHoverStarted=false;
ig_startClick = true;
if(evnt.stopPropagation != null) evnt.stopPropagation();
if(evnt.preventDefault != null) evnt.preventDefault();
evnt.cancelBubble = true;
evnt.returnValue = false;
}
var ig_startClick = false;
// private - Handles the mouse up event
// changed signature to capture extra case, since in JS extra params default to null
//function igmenu_mouseup(table, evnt) {
function igmenu_mouseup(table, evnt, oItemElement) {
//var item=igmenu_getTblRow(evnt);
var item=null;
if (!oItemElement)
item=igmenu_getTblRow(evnt);
else
item=igmenu_getTblRowByItemElement(oItemElement);
if(item==null){return;}
var ms=igmenu_getMenuByItemId(item.id);
if(ms==null) {
return;
}
var igDisabled = item.getAttribute("igDisabled");
var igTop = item.getAttribute("igTop");
var igChildId = item.getAttribute("igChildId");
var igUrl=item.getAttribute("igUrl");
if(igDisabled != null && igDisabled.length > 0)
return;
var igSeparator = item.getAttribute("igSep");
if(igSeparator != null && igSeparator.length > 0) {
clearCurrentMenu = false;
return;
}
if(igChildId != null && igChildId.length > 0) {
if(igUrl == null || igUrl.length == 0) {
ms.fireEvent(ms.Events.ItemClick,"(\""+mn+"\",\""+item.id+"\")");
if(ms.NeedPostBack && ((ms.WebMenuStyle == 1) || (ms.WebMenuStyle >1 && igTop == null)))
__doPostBack(ms.UniqueId,item.id+":MenuClick");
return;
}
}
if(ig_startClick==true){
var mn=igmenu_getMenuNameByItemId(item.id);
var checked=item.getAttribute("igChk");
var checkbox=item.getAttribute("igChkBx");
ms.clearMenuTree(null, true);
if(checkbox!=null && checkbox.length>0) {
var bCheck=(checked != null) && (checked == '0');
var postCommand="";
if(ms.fireEvent(ms.Events.ItemCheck,"(\""+mn+"\",\""+item.id+"\","+bCheck+")"))
return;
var bHorizontal;
var bTop = item.getAttribute("igTop");
if(bTop != null && bTop.length > 0)
bTop = true;
else
bTop = false;
if(ms.MenuTarget==1 && bTop)
bHorizontal = true;
var checkElement;
if(bHorizontal)
checkElement = item.childNodes[0];
else
checkElement = item.childNodes[0].childNodes[0];
if(checked!=null && checked=="1") {
bCheck=false;
postCommand=":Uncheck";
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";
bCheck=true;
postCommand=":Check";
item.setAttribute("igChk", "1");
}
if(ms.NeedPostBack) {
__doPostBack(ms.UniqueId,item.id+postCommand);
}
ms.clearMenuTree(null, true);
ms.updateItemCheck(item.id, bCheck);
ig_startClick=false;
if(ig_menuPopup != null) {
ms.hideSubMenu(ig_menuPopup);
ig_menuPopup = null;
}
return;
}
if(ms.fireEvent(ms.Events.ItemClick,"(\""+mn+"\",\""+item.id+"\")"))
return;
ms.clearMenuTree(null, true);
// Reset current item tracking
igmenu_getSubMenu(item).igCurrentChild=null;
igmenu_displayItem = null;
igmenu_getSubMenu(item).igCurrentItem=null;
igmenu_hideDropDowns(false);
if(ig_menuPopup != null) {
ms.hideSubMenu(ig_menuPopup);
ig_menuPopup = null;
}
ig_startClick=false;
var igFrame=item.getAttribute("igFrame");
if(igUrl!=null) {
ig.navigateUrl(igUrl,igFrame);
return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -