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

📄 dropmenu.js

📁 EOS的一个很好的例子.包括页面构件、展现构件
💻 JS
📖 第 1 页 / 共 2 页
字号:
			menuaction.indexOf("?") == -1 && !strEndsWith(menuaction, ".do") &&
			!strEndsWith(menuaction, ".jsp"))
			menuaction = menuaction + ".do";
		if (menutarget == null || menutarget == "") {
			var menuPath = "";
			if (menudivid != null && menudivid != "") {
				hiddenmenu(menudivid);
				var dropmenu = mydropmenu[menudivid];
				//在引用的html中需要包含这样的<font id="clickMenuAddress"></font>代码,才能通过点击菜单后将当前菜单的位置显示在页面中
				var clickMenuText = gmobj("clickMenuAddress");
				if (clickMenuText != null) {
					menuPath = dropmenu.getMenuPath(menutext);
					clickMenuText.innerText = menuPath;
				}
			}
			if (menuaction.indexOf("?") == -1)
				location.href=menuaction + "?clickCurrentMenuPath=" + menuPath;
			else
				location.href=menuaction + "&clickCurrentMenuPath=" + menuPath;
			return;
		} else {
			if (menudivid != null && menudivid != "") {
				hiddenmenu(menudivid);
				var dropmenu = mydropmenu[menudivid];
				//在引用的html中需要包含这样的<font id="clickMenuAddress"></font>代码,才能通过点击菜单后将当前菜单的位置显示在页面中
				var clickMenuText = gmobj("clickMenuAddress");
				if (clickMenuText != null)
					clickMenuText.innerText = dropmenu.getMenuPath(menutext);
			}
			window.frames[menutarget].location.href=menuaction;
			return;
		}
	}
	return;
}

function createmenudiv(menuno, level)
{
	var menuname = menuobjname + "div" + menuno;

	var menudiv_text = "<div id=" +menuname+ " style=\"visibility:hidden;position:absolute;\" onMouseOver=\"showmenu('"+ menuname +"'); \" onMouseOut=\"hiddenmenu('"+menuname+"'); \">"
	menudiv_text += "<table class=outmenu cellpadding=0 cellspacing=0><tr><td><table class=inmenu cellpadding=0 cellspacing=1>";
	var i;
	var needsep = false;
	for (i=1; i<=maxmenuitem; i++) {
		var menuvalue;
		try {
			menuvalue = eval(menuarray + menuno + "_" + i);
		} catch (ee) {
			break;
		}
		if (needsep) {
			menudiv_text += "<tr><td height=6px class=TDmenusep><div class=menusep><span /></div></td></tr>";
		}

		var menuitemid = "menuitem" + menuno + "_" + i;
		var menuitemiconid = menuitemid + "_icon";
		var menuitemimgid = menuitemid + "_img";
		var menuitemtextid = menuitemid + "_text";

		var menuiconname;
		var menuitemclass = "menuitemwithimg";
		if (menuvalue[3] == null || menuvalue[3] == "") {
			menuiconname = "null";
			menuitemclass = "menuitem";
			menuitemiconid = "";
		} else {
			menuiconname = "'" + menuitemiconid + "'";
		}

		var menustatus = menuvalue[0];
		var hassub = false; // 菜单定义有子菜单,但是没有子菜单数据
		if (menuvalue[2] > 0) {
			hassub = true;
			try {
				var submenuvalue = eval(menuarray + menuno + "_" + i + "_1");
			} catch (ee) {
				hassub = false;
			}
		} else {
			if (menuvalue[1] != null && menuvalue[1] != "" && menuvalue[1] != "#")
				menustatus = menuvalue[1];
		}
		if (menuvalue[2] > 0) {
			if (!needsep && i != 1) {
				menudiv_text += "<tr><td height=6px class=TDmenusep><div class=menusep><span /></div></td></tr>";
			}
			if (!hassub) {
				menudiv_text += "<tr><td id=" + menuitemid + " onMouseOver=\"oversubmenuitem(this, '";
				menudiv_text += menuitemtextid + "', " + menuiconname + ", '"+menuitemimgid+"');window.status='"+menustatus+"';\" ";
				menudiv_text += "onMouseOut=\"outsubmenuitem(this, '";
				menudiv_text += menuitemtextid + "', " + menuiconname + ", '"+menuitemimgid+"');window.status='';\" onClick=\"doMenuAction('"+menuvalue[0]+"', '"+menuvalue[1]+"', '"+menuvalue[4]+"', "+hassub+", '"+menuname+"')\"> ";
				menudiv_text += "<table width=100% cellpadding=0 cellspacing=0 border=0><tr>";
				if (menuiconname != "null") {
					menudiv_text += "<td align=left width=18px id=" + menuitemiconid + " class=menuitemicon>"
					menudiv_text += "<img height=18 width=18 src=" + menuvalue[3] + " /></td>";
				}
				menudiv_text += "<td height=20px width=100% id=" + menuitemtextid + " class=menuitemwithimg nowrap>" +menuvalue[0]+ "</td>";
				menudiv_text += "<td align=right width=10px ><img id=" +menuitemimgid+ " src='"+subarrow1_gif_path+"' /></td>";
				menudiv_text += "</tr></table></td></tr>";
				needsep=false;
			} else {
				var submenudivid = menuobjname + "div" + menuno + "_" + i;
				menudiv_text += "<tr><td id=" + menuitemid + " onMouseOver=\"showmenu('"+ submenudivid +"'); window.status='"+menustatus+"';\" ";
				menudiv_text += "onMouseOut=\"hiddenmenu('"+ submenudivid +"'); window.status='';\" onClick=\"doMenuAction('"+menuvalue[0]+"', '"+menuvalue[1]+"', '"+menuvalue[4]+"', "+hassub+", '"+menuname+"')\" > ";
				menudiv_text += "<table width=100% cellpadding=0 cellspacing=0 border=0><tr>";
				if (menuiconname != "null") {
					menudiv_text += "<td align=left width=18px id=" + menuitemiconid + " class=menuitemicon>"
					menudiv_text += "<img height=18 width=18 src=" + menuvalue[3] + " /></td>";
				}
				menudiv_text += "<td height=20px width=100% id=" + menuitemtextid + " class="+menuitemclass+" nowrap>" +menuvalue[0]+ "</td>";
				menudiv_text += "<td align=right width=10px ><img id=" +menuitemimgid+ " src='"+subarrow1_gif_path+"' /></td>";
				menudiv_text += "</tr></table></td></tr>";
				needsep = true;
				createmenudiv(menuno+"_"+i, level + 1);
				var dropmenu = new DropMenu();
				dropmenu.level = level + 1;
				dropmenu.menudivid = menuobjname + "div" + menuno + "_" + i;
				dropmenu.parentmenudivid = menuname;
				dropmenu.menuitemid = menuitemid;
				dropmenu.menuitemiconid = menuitemiconid;
				dropmenu.menuitemimgid = menuitemimgid;
				dropmenu.menuitemtextid = menuitemtextid;
				dropmenu.menuname = menuvalue[0];
				mydropmenu[menuobjname + "div" + menuno + "_" + i] = dropmenu;
			}
		} else {
			menuitemimgid = "";
			if (menuiconname == "null") {
				menudiv_text += "<tr><td height=20px class=menuitem nowrap  onMouseOver=\"onmouseovermenu(this); window.status='"+menustatus+"';\"";
				menudiv_text += " onMouseOut=\"onmouseoutmenu(this); window.status='';\" onClick=\"doMenuAction('"+menuvalue[0]+"', '"+menuvalue[1]+"', '"+menuvalue[4]+"', "+hassub+", '"+menuname+"')\" >" +menuvalue[0]+ "</td></tr>";
			} else {
				menudiv_text += "<tr><td id=" + menuitemid + " onMouseOver=\"oversubmenuitem(this, '";
				menudiv_text += menuitemtextid + "', " + menuiconname + ", '"+menuitemimgid+"');window.status='"+menustatus+"';\" ";
				menudiv_text += "onMouseOut=\"outsubmenuitem(this, '";
				menudiv_text += menuitemtextid + "', " + menuiconname + ", '"+menuitemimgid+"');window.status='';\" onClick=\"doMenuAction('"+menuvalue[0]+"', '"+menuvalue[1]+"', '"+menuvalue[4]+"', "+hassub+", '"+menuname+"')\"> ";
				menudiv_text += "<table width=100% cellpadding=0 cellspacing=0 border=0><tr>";
				menudiv_text += "<td align=left width=18px id=" + menuitemiconid + " class=menuitemicon>";
				menudiv_text += "<img height=18 width=18 src=" + menuvalue[3] + " /></td>";
				menudiv_text += "<td height=20px width=100% id=" + menuitemtextid + " class=menuitemwithimg nowrap>" +menuvalue[0]+ "</td>";
				menudiv_text += "</tr></table></td></tr>";
			}
			needsep = false;
		}
	}
	menudiv_text += "</table></td></tr></table></div>\n";
	def_menudiv =  menudiv_text + def_menudiv;
}

function oversubmenuitem(menuitem, itemtext, itemicon, itemimg){
	onmouseovermenu(menuitem);
	
	if (itemicon != null && itemicon != "" && itemicon != "null") {
		gmobj(itemtext).className='overmenuitemwithimg';
		gmobj(itemicon).className='overmenuitemicon';
	} else {
		gmobj(itemtext).className='overmenuitem';
	}
	if (itemimg != null && itemimg != "" && itemimg != "null")
		gmobj(itemimg).src=subarrow2_gif_path;
}

function outsubmenuitem(menuitem, itemtext, itemicon, itemimg){
	onmouseoutmenu(menuitem);
	if (itemicon != null && itemicon != "" && itemicon != "null") {
		gmobj(itemtext).className='menuitemwithimg';
		gmobj(itemicon).className='menuitemicon';
	} else {
		gmobj(itemtext).className='menuitem';
	}
	if (itemimg != null && itemimg != ""  && itemimg != "null")
		gmobj(itemimg).src=subarrow1_gif_path;
}

function gpos(gm) /* Get document object position */
{
  if (ns4) {
      t_=gm.top;
      l_=gm.left;
      h_=gm.clip.height;
      w_=gm.clip.width;
  } else if (ns6) {
      t_=gm.offsetTop;
      l_=gm.offsetLeft;
      h_=gm.offsetHeight;
      w_=gm.offsetWidth
  } else {
      t_=gm.offsetTop;
      l_=gm.offsetLeft;
      h_=gm.offsetHeight;
      w_=gm.offsetWidth;
  }
  var gmpos=new Array();
  gmpos[0]=t_;
  gmpos[1]=l_;
  gmpos[2]=h_;
  gmpos[3]=w_;
  return(gmpos);
}
var _drop_menu_all_select = new Array();
function _hidden_all_select(doc) {
	var mydoc = doc;
	if (mydoc == null) {
		_drop_menu_all_select = new Array();
		mydoc = document;
	}
	var selects = mydoc.getElementsByTagName("select");
	for (var i=0; i<selects.length; i++) {
		var visAttr = _get_visibility_obj(selects[i]);
		if (visAttr[0] != "hidden" && visAttr[1] != "none") {
			var save = new Array();
			save[0] = selects[i];
			save[1] = selects[i].currentStyle.visibility;
			save[2] = selects[i].currentStyle.display;
			_drop_menu_all_select[_drop_menu_all_select.length] = save;
			selects[i].style.visibility = "hidden";
		} 
	}
	var myframes=mydoc.frames;
	for(var j=0;j<myframes.length;j++){
		_hidden_all_select(myframes[j].document);
	}	
}

function _get_visibility_obj(obj) {
	var visAttr = new Array();
	visAttr[0] = "";
	visAttr[1] = "";
	try {
		visAttr[0] = obj.style.visibility;
		visAttr[1] = obj.style.display;
	}catch(e) {}
	if (visAttr[0] == "" && visAttr[1] == "") {
		if (obj.parentElement == null)
			return visAttr;
		else
			return _get_visibility_obj(obj.parentElement);
	}
	return visAttr;
}

function _show_all_select() {
	for (var i=0; i<_drop_menu_all_select.length; i++) {
		_drop_menu_all_select[i][0].style.visibility = _drop_menu_all_select[i][1];
		_drop_menu_all_select[i][0].style.display = _drop_menu_all_select[i][2];
	}
}

function gmobj(mtxt)  /* Get object by object name */
{
  if (document.getElementById) {
      m=document.getElementById(mtxt);
  } else if (document.all) {
      m=document.all[mtxt];
  } else if (document.layers) {
      m=document.layers[mtxt];
  }
  return m;
}

function strEndsWith(str, suffix) {
	if (str == null) return false;
	var pos = str.lastIndexOf(suffix);
	if (pos == -1) return false;
	if (str.length == pos + suffix.length)
		return true;
	else
		return false;
}

⌨️ 快捷键说明

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