<td style='" + m_strMMItemSplitImg + "' width=2></td>"; } var intMenuWidth = 0;
for ( var i = 0 ; i< m_objMMList.length ; i ++ ) { var menuNode = m_objMMList[i]; var attList = menuNode.attributes; var menuText = attList.getNamedItem("text").text; var menuHref = attList.getNamedItem("href").text; var menuTarget = ""; if( attList.getNamedItem("target") ) menuTarget = attList.getNamedItem("target").text; else menuTarget = "_self";
var intMenuWidth; if( attList.getNamedItem("width") ) intMenuWidth = attList.getNamedItem("width").text;
var strSubMenuID = "sm" + i; var strMouseOverEvent = ""; var strClickEvent = ""; //如果有子拉菜单,则显示 if ( menuNode.hasChildNodes() ){ strMouseOverEvent = "chgMainMenuStyle(this,true);spreadMainMenu(this,\"" + strSubMenuID + "\",true);"; strClickEvent = strMouseOverEvent; }else{ strMouseOverEvent = "chgMainMenuStyle(this,true);"; strClickEvent = "onClickEvent('" + menuHref + "','" + menuTarget + "','" + menuText + "');"; }
strHtml += "<td width=" + intMenuWidth + " style='" + m_strMainMenuItemStyle + "' id=mm" + i + " onmouseover=" + strMouseOverEvent + " onmouseout='chgMainMenuStyle(this,false);beginHideSubMenu();' " + " onclick=" + strClickEvent + " >" + menuText+"</td>";
//如果用户设置了分割图片则输出 if( m_strMMItemSplitImg && m_strMMItemSplitImg != "" ){ strHtml += "<td style='" + m_strMMItemSplitImg + "' width='2'></td>"; } } strHtml += "<td></td>"; strHtml += "</tr>"; strHtml += "</table>"; strHtml += "</div>";
document.write(strHtml); }//end printMainMenu()
//打印一级子菜单 function printSubMenu() { for ( var i = 0 ; i< m_objMMList.length ; i ++ ) { menuNode = m_objMMList[i]; //如果没有子菜单,执行下一个循环 if ( !menuNode.hasChildNodes() ){ continue; }
//得到主菜单下的子菜单集合 var objSMList = menuNode.childNodes; var intSubMenuLen = objSMList.length;
//每个主菜单对应的子菜单id var strSubMenuID = "sm" + i; //arrMenuID.push(strSubMenuID);
var strSubMenuHtml = "<div style='display:none;border:0;' id='" + strSubMenuID + "'>" + " <table cellspacing='0' cellpadding='4' style='" + m_strSubMenuStyle + "'>";
for ( var j = 0;j < intSubMenuLen;j ++ ) { var objSubMenu = objSMList[j]; var attList = objSubMenu.attributes; var menuText = attList.getNamedItem("text").text; var menuHref = attList.getNamedItem("href").text; var menuTarget = ""; if( attList.getNamedItem("target") ) menuTarget = attList.getNamedItem("target").text; else menuTarget = "_self";
//如果有三级子菜单,则需要箭头标识 var strRightRow = " "; //二级子菜单id var strSubMenu2ID = strSubMenuID + "_sm" + j; //鼠标悬停和移出时一级子菜单的响应 var strMouseOverEvent = "parent.chgSubMenuStyle(this,true);parent.endHideSubMenu();"; var strMouseOutEvent = " parent.chgSubMenuStyle(this,false);parent.beginHideSubMenu();";
//位置信息显示 var strPosition = STR_POS_FRONT + m_objMMList[i].attributes.getNamedItem("text").text + "->" + menuText; //alert(strPosition); if ( objSubMenu.hasChildNodes() ) { //打印其二级子菜单 printSubMenu2(objSubMenu,strSubMenu2ID,strPosition);
strMouseOverEvent += "parent.showSubMenu2(\"" + strSubMenu2ID + "\",this);"; //strMouseOutEvent += "parent.beginHideSubMenu();"; strRightRow = "<font style='font-family:Webdings;font-size:7pt;height:10'>4</font>"; strPosition = ""; } else { //strMouseOverEvent += "parent.endHideSubMenu();"; strMouseOverEvent += "parent.hideSubMenu2();"; } var strOnClickEvent = "javascript:parent.onClickEvent('" + menuHref + "','" + menuTarget + "','" + strPosition + "');" strSubMenuHtml += "<tr style='" + m_strSubMenuItemStyle + "' " + " onmouseover='" + strMouseOverEvent + "' " + " onmouseout='" + strMouseOutEvent + "' " + " onclick= " + strOnClickEvent + " " + " > <td width='3' nowrap style='" + m_strSMItemBorderB + "'> </td>"+ " <td nowrap style='" + m_strSMItemBorderB + "'>" + menuText + "</td>"+ " <td width='10' align='right' nowrap style='" + m_strSMItemBorderB + "'>" + strRightRow + "</td>" + "</tr>"; //alert(objSubMenu.text.length);
}//end for 子菜单个数循环
strSubMenuHtml += "</table></div>";
document.write(strSubMenuHtml);
}//end for 主菜单个数循环 }//end function printSubMenu()
/**打印二级子菜单 *objSubMenu : 一级子菜单对象 *strSubMenu2ID :将要打印的二级菜单的id *strPosition:主菜单和一级子菜单文本描述 */ function printSubMenu2(objSubMenu,strSubMenu2ID,strPosition) { //arrMenuID.push(strSubMenu2ID); var objSMList = objSubMenu.childNodes; var intSubMenu2Len = objSMList.length;
var strSubMenu2Html = "<div style='display:none;border:0;' id='" + strSubMenu2ID + "'>" + " <table cellspacing='0' cellpadding='4' style='" + m_strSubMenuStyle + "'>";
for ( var i = 0; i< intSubMenu2Len;i ++ ) { var objSubMenu2 = objSMList[i]; var attList = objSubMenu2.attributes; var menuText = attList.getNamedItem("text").text; var menuHref = attList.getNamedItem("href").text;
var menuTarget = ""; if( attList.getNamedItem("target") ) menuTarget = attList.getNamedItem("target").text; else menuTarget = "_self";
var strPostion2 = strPosition + "->" + menuText;
strSubMenu2Html += "<tr style='" + m_strSubMenuItemStyle + "' " + " onmouseover='parent.parent.chgSubMenuStyle(this,true);" + " parent.parent.endHideSubMenu(); ' " + " onmouseout='parent.parent.chgSubMenuStyle(this,false);parent.parent.beginHideSubMenu();' " + " onclick=javascript:parent.parent.onClickEvent('" + menuHref + "','" + menuTarget + "','" + strPostion2 + "'); " + " > <td width='3' nowrap style='" + m_strSMItemBorderB + "'> </td>"+ " <td nowrap style='" + m_strSMItemBorderB + "'>" + menuText + "</td>"+ " <td width='3' nowrap style='" + m_strSMItemBorderB + "'> </td>" + "</tr>"; } strSubMenu2Html += "</table></div>";
document.write(strSubMenu2Html);
}//end function printSubMenu2
/** *打开链接,所有菜单的链接都是通过这个函数来打开。并显示位置信息 *@param strUrl - 打开链接的地址 *@param strTarget - 打开链接的target。如_self,_blank等 *@param strViewText - 位置信息 */ function onClickEvent(strUrl,strTarget,strViewText) { m_bolFirst = true;//以后响应菜单时变为为第一次响应 //document.all.selected_menu.innerText = strViewText;
m_strTitle = ""; var arrText = strViewText.split("->"); if ( arrText.length >0 ) m_strTitle = arrText[0]; for (var i = 1; i < arrText.length ; i ++ ) { m_strTitle += "-" + arrText[i]; } m_strTitle = m_strTitle.substring(STR_POS_FRONT.length); //隐藏下拉菜单 hideSubMenu(); //显示title if (m_strTitle != "") { //parent.document.title = m_strTitle; }
if ( strUrl == "#" ) return;
//如果url是一个javascript字符串则直接执行之 if(strUrl.toLowerCase().indexOf("javascript") != -1) { executeScript(strUrl); return; }
strUrl = m_strContextPath + strUrl;//地址应加上虚拟目录
window.open(strUrl,strTarget); } //执行一个javascript字符串 function executeScript(strScript) { //第一个eval得到该字符串表示的变量,第二个eval则执行变量里的脚本 eval(strScript); }
上一页 [1] [2] |