📄 ncbi_menu.js
字号:
/** * Menu 0.8 990602 * by gary smith, July 1997 * Copyright (c) 1997-1999 Netscape Communications Corp. * * Netscape grants you a royalty free license to use or modify this * software provided that this copyright notice appears on all copies. * This software is provided "AS IS," without a warranty of any kind. */function dynamiccontentNS6(el,content){ if (document.getElementById){ rng = document.createRange(); rng.setStartBefore(el); htmlFrag = rng.createContextualFragment(content); while (el.hasChildNodes()) el.removeChild(el.lastChild); el.appendChild(htmlFrag); }}function Menu(label) { this.version = "0.8 [menu.js; Menu; 990602]"; this.type = "Menu"; this.fontSize = 14; this.fontWeight = "plain"; this.fontFamily = "arial,helvetica,espy,sans-serif"; this.fontColor = "#000000"; this.fontColorHilite = "#ffffff"; this.bgColor = "#555555"; this.menuBorder = 1; this.menuItemBorder = 1; this.menuItemBgColor = "#cccccc"; this.menuLiteBgColor = "#ffffff"; this.menuBorderBgColor = "#777777"; this.menuHiliteBgColor = "#000084"; this.menuContainerBgColor = "#cccccc"; this.childMenuIcon = "images/arrows.gif"; this.childMenuIconHilite = "images/arrows2.gif"; this.items = new Array(); this.actions = new Array(); this.colors = new Array(); this.mouseovers = new Array(); this.mouseouts = new Array(); this.childMenus = new Array(); this.addMenuItem = addMenuItem; this.addMenuSeparator = addMenuSeparator; this.writeMenus = writeMenus; this.showMenu = showMenu; this.onMenuItemOver = onMenuItemOver; this.onMenuItemOut = onMenuItemOut; this.onMenuItemDown = onMenuItemDown; this.onMenuItemAction = onMenuItemAction; this.hideMenu = hideMenu; this.hideChildMenu = hideChildMenu; this.mouseTracker = mouseTracker; this.setMouseTracker = setMouseTracker; if (!window.menus) window.menus = new Array(); this.label = label || "menuLabel" + window.menus.length; window.menus[this.label] = this; window.menus[window.menus.length] = this; if (!window.activeMenus) window.activeMenus = new Array(); if (!window.menuContainers) window.menuContainers = new Array(); if (!window.mDrag) { window.mDrag = new Object(); mDrag.startMenuDrag = startMenuDrag; mDrag.doMenuDrag = doMenuDrag; this.setMouseTracker(); } if (window.MenuAPI) MenuAPI(this);}function addMenuItem(label, action, color, mouseover, mouseout) { this.items[this.items.length] = label; this.actions[this.actions.length] = action; this.colors[this.colors.length] = color; this.mouseovers[this.mouseovers.length] = mouseover; this.mouseouts[this.mouseouts.length] = mouseout;}function addMenuSeparator() { this.items[this.items.length] = "separator"; this.actions[this.actions.length] = ""; this.menuItemBorder = 0;}function writeMenus(container) { if (!window.attemptCount) window.attemptCount = 1; if (!container && document.layers) { if (eval("document.width")) container = new Layer(1000); } else if (!container && document.all) { if (!document.all["menuContainer"]) document.writeln('<SPAN ID="menuContainer"></SPAN>'); container = document.all["menuContainer"]; } else if (!container && document.getElementById && document.getElementsByTagName("BODY")) { if (!document.getElementById("menuContainer")) { container = document.createElement("DIV") container.id = "menuContainer" document.getElementsByTagName("BODY").item(0).appendChild(container) container.style.backgroundColor = this.menuContainerBgColor } else { container = document.getElementById("menuContainer") } } if (!container && window.attemptCount < 10) { window.delayWriteMenus = this.writeMenus; window.menuContainerBgColor = this.menuContainerBgColor; window.attemptCount++; setTimeout('delayWriteMenus()', 3000); return; } container.isContainer = "menuContainer" + menuContainers.length; menuContainers[menuContainers.length] = container; container.menus = new Array(); for (var i=0; i<window.menus.length; i++) container.menus[i] = window.menus[i]; window.menus.length = 0; var countMenus = 0; var countItems = 0; var top = 0; var content = ''; var mouseOut = ''; if (!document.getElementById) mouseOut = ' onMouseOut="hideMenu(this);"'; var proto; for (var i=0; i<container.menus.length; i++, countMenus++) { var menu = container.menus[i]; proto = menu.prototypeStyles || this.prototypeStyles || menu; content += ''+ '<DIV ID="menuLayer'+ countMenus +'" STYLE="position:absolute;left:10;top:'+ (i * 100) +';visibility:hidden;">\n'+ ' <DIV ID="menuLite'+ countMenus +'" STYLE="position:absolute;left:'+ proto.menuBorder +';top:'+ proto.menuBorder +';visibility:hide;"'+mouseOut+'>\n'+ ' <DIV ID="menuFg'+ countMenus +'" STYLE="position:absolute;left:1;top:1;visibility:hide;cursor:pointer;cursor:hand;">\n'+ ''; var x=i; for (var i=0; i<menu.items.length; i++) { var item = menu.items[i]; var childMenu = false; var defaultHeight = 20; var defaultIndent = 15; if (item.label) { item = item.label; childMenu = true; } else if (item.indexOf(".gif") != -1 && item.indexOf("<IMG") == -1) { item = '<IMG SRC="' + item + '" NAME="menuItem'+ countItems +'Img">'; defaultIndent = 0; if (document.layers) { defaultHeight = null; } } proto.menuItemHeight = proto.menuItemHeight || defaultHeight; proto.menuItemIndent = proto.menuItemIndent || defaultIndent; var itemProps = 'visibility:hide;font-Family:' + proto.fontFamily +';font-Weight:' + proto.fontWeight + ';fontSize:' + proto.fontSize + ';'; if (document.all || document.getElementById) itemProps += 'font-size:' + proto.fontSize + ';" onMouseOver="onMenuItemOver(null,this);" onMouseOut="onMenuItemOut(null,this);" onClick="onMenuItemAction(null,this);'; var dTag = '<DIV ID="menuItem'+ countItems +'" STYLE="position:absolute;left:0;top:'+ (i * proto.menuItemHeight) +';'+ itemProps +'">'; var dText = '<DIV ID="menuItemText'+ countItems +'" STYLE="position:absolute;left:' + proto.menuItemIndent + ';top:0;color:'+ proto.fontColor +';">'+ item +'</DIV>\n<DIV ID="menuItemHilite'+ countItems +'" STYLE="position:absolute;left:' + proto.menuItemIndent + ';top:0;color:'+ proto.fontColorHilite +';visibility:hidden;">'+ item +'</DIV>'; if (item == "separator") { content += ( dTag + '<DIV ID="menuSeparator'+ countItems +'" STYLE="position:absolute;left:1;top:2;"></DIV>\n<DIV ID="menuSeparatorLite'+ countItems +'" STYLE="position:absolute;left:1;top:2;"></DIV>\n</DIV>'); } else if (childMenu) { content += ( dTag + dText + '<DIV ID="childMenu'+ countItems +'" STYLE="position:absolute;left:0;top:3;'+ itemProps +'"><IMG SRC="'+ proto.childMenuIcon +'"></DIV>\n</DIV>'); } else { content += ( dTag + dText + '</DIV>'); } countItems++; } content += ' <DIV ID="focusItem'+ countMenus +'" STYLE="position:absolute;left:0;top:0;visibility:hide;" onClick="onMenuItemAction(null,this);"> </DIV>\n'; content += ' </DIV>\n </DIV>\n</DIV>\n'; i=x; } if (!container) return; if (container.innerHTML) { container.innerHTML=content; } else if (!document.all && document.getElementById) { dynamiccontentNS6(container,content) } else { container.document.open("text/html"); container.document.writeln(content); container.document.close(); } proto = null; if (document.layers) { container.clip.width = window.innerWidth; container.clip.height = window.innerHeight; container.onmouseout = this.hideMenu; container.menuContainerBgColor = this.menuContainerBgColor; for (var i=0; i<container.document.layers.length; i++) { proto = container.menus[i].prototypeStyles || this.prototypeStyles || container.menus[i]; var menu = container.document.layers[i]; container.menus[i].menuLayer = menu; container.menus[i].menuLayer.Menu = container.menus[i]; container.menus[i].menuLayer.Menu.container = container; var body = menu.document.layers[0].document.layers[0]; body.clip.width = proto.menuWidth || body.clip.width; body.clip.height = proto.menuHeight || body.clip.height; for (var n=0; n<body.document.layers.length-1; n++) { var l = body.document.layers[n]; l.Menu = container.menus[i]; l.menuHiliteBgColor = proto.menuHiliteBgColor; l.document.bgColor = proto.menuItemBgColor; l.saveColor = proto.menuItemBgColor; l.mouseout = l.Menu.mouseouts[n]; l.mouseover = l.Menu.mouseovers[n]; l.onmouseover = proto.onMenuItemOver; l.onclick = proto.onMenuItemAction; l.action = container.menus[i].actions[n]; l.focusItem = body.document.layers[body.document.layers.length-1]; l.clip.width = proto.menuItemWidth || body.clip.width + proto.menuItemIndent; l.clip.height = proto.menuItemHeight || l.clip.height; if (n>0) l.top = body.document.layers[n-1].top + body.document.layers[n-1].clip.height + proto.menuItemBorder; l.hilite = l.document.layers[1]; l.document.layers[1].isHilite = true; if (l.document.layers[0].id.indexOf("menuSeparator") != -1) { l.hilite = null; l.clip.height -= l.clip.height / 2; l.document.layers[0].document.bgColor = proto.bgColor; l.document.layers[0].clip.width = l.clip.width -2; l.document.layers[0].clip.height = 1; l.document.layers[1].document.bgColor = proto.menuLiteBgColor; l.document.layers[1].clip.width = l.clip.width -2; l.document.layers[1].clip.height = 1; l.document.layers[1].top = l.document.layers[0].top + 1; } else if (l.document.layers.length > 2) { l.childMenu = container.menus[i].items[n].menuLayer; l.icon = proto.childMenuIcon; l.iconHilite = proto.childMenuIconHilite; l.document.layers[2].left = l.clip.width -13; l.document.layers[2].top = (l.clip.height / 2) -4; l.document.layers[2].clip.left += 3; l.Menu.childMenus[l.Menu.childMenus.length] = l.childMenu; } } body.document.bgColor = proto.bgColor; body.clip.width = l.clip.width +1; body.clip.height = l.top + l.clip.height +1; body.document.layers[n].clip.width = body.clip.width; body.document.layers[n].captureEvents(Event.MOUSEDOWN); body.document.layers[n].onmousedown = proto.onMenuItemDown; //body.document.layers[n].onfocus = proto.onMenuItemDown; body.document.layers[n].onmouseout = proto.onMenuItemOut; body.document.layers[n].Menu = l.Menu; body.document.layers[n].top = -30; menu.document.bgColor = proto.menuBorderBgColor; menu.document.layers[0].document.bgColor = proto.menuLiteBgColor; menu.document.layers[0].clip.width = body.clip.width +1; menu.document.layers[0].clip.height = body.clip.height +1; menu.clip.width = body.clip.width + (proto.menuBorder * 2) +1; menu.clip.height = body.clip.height + (proto.menuBorder * 2) +1; if (menu.Menu.enableTracker) { menu.Menu.disableHide = true; setMenuTracker(menu.Menu); } } } else if (document.all) { var menuCount = 0; for (var x=0; x<container.menus.length; x++) { var menu = container.document.all("menuLayer" + x); container.menus[x].menuLayer = menu; container.menus[x].menuLayer.Menu = container.menus[x]; container.menus[x].menuLayer.Menu.container = menu; proto = container.menus[x].prototypeStyles || this.prototypeStyles || container.menus[x]; proto.menuItemWidth = proto.menuItemWidth || 200; menu.style.backgroundColor = proto.menuBorderBgColor; for (var i=0; i<container.menus[x].items.length; i++) { var l = container.document.all["menuItem" + menuCount]; l.Menu = container.menus[x]; proto = container.menus[x].prototypeStyles || this.prototypeStyles || container.menus[x]; l.style.pixelWidth = proto.menuItemWidth; l.style.pixelHeight = proto.menuItemHeight; if (i>0) l.style.pixelTop = container.document.all["menuItem" + (menuCount -1)].style.pixelTop + container.document.all["menuItem" + (menuCount -1)].style.pixelHeight + proto.menuItemBorder; l.style.fontSize = proto.fontSize; l.style.backgroundColor = proto.menuItemBgColor; l.style.visibility = "inherit"; l.saveColor = proto.menuItemBgColor; l.menuHiliteBgColor = proto.menuHiliteBgColor; l.action = container.menus[x].actions[i]; l.hilite = container.document.all["menuItemHilite" + menuCount]; l.focusItem = container.document.all["focusItem" + x]; l.focusItem.style.pixelTop = -30; l.mouseover = l.Menu.mouseovers[x]; l.mouseout = l.Menu.mouseouts[x]; var childItem = container.document.all["childMenu" + menuCount]; if (childItem) { l.childMenu = container.menus[x].items[i].menuLayer; childItem.style.pixelLeft = l.style.pixelWidth -11; childItem.style.pixelTop = (l.style.pixelHeight /2) -4; childItem.style.pixelWidth = 30 || 7; childItem.style.clip = "rect(0 7 7 3)"; l.Menu.childMenus[l.Menu.childMenus.length] = l.childMenu;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -