又一个微软式下拉菜单原码 |
|
这是主页面:DropDownMenu.htm
<HTML> <HEAD> <TITLE></TITLE> <SCRIPT LANGUAGE=javascript src=DropDownMenu.JS></SCRIPT> </HEAD> <BODY> </BODY> </HTML> 这是js文件DropDownMenu.JS function Menu_onmouseover(Menu, sMenu) { Menu.style.color = M_AFC Menu.style.backgroundColor = M_HBC locateMenu() sMenu1.style.display = "none" sMenu2.style.display = "none" sMenu3.style.display = "none" sMenu.style.display = "block" } function Menu_onmouseout(Menu, sMenu) { Menu.style.color = M_FGC Menu.style.backgroundColor = M_BGC } function Menu_onmousemove() { window.event.cancelBubble = true } function MenuItem_onmouseover(MenuItem) { MenuItem.style.color = M_AFC MenuItem.style.backgroundColor = M_HBC } function MenuItem_onmouseout(MenuItem) { MenuItem.style.color = M_FGC MenuItem.style.backgroundColor = M_BGC window.event.cancelBubble = true } function locateMenu() { menu.style.top = menuTop + window.document.body.scrollTop menu.style.left = menuLeft + window.document.body.scrollLeft sMenu1.style.left = Menu1.offsetLeft + menu.offsetLeft sMenu2.style.left = Menu2.offsetLeft + menu.offsetLeft sMenu3.style.left = Menu3.offsetLeft + menu.offsetLeft sMenu1.style.top = menu.offsetTop + menu.offsetHeight + 1 sMenu2.style.top = menu.offsetTop + menu.offsetHeight + 1 sMenu3.style.top = menu.offsetTop + menu.offsetHeight + 1 } function MenuItem_onclick(MenuItem) { alert("You click " + MenuItem.id + "!") } function writeMenu() { var i, j document.write("<SPAN id=menu style=\"BACKGROUND-COLOR: " + M_BGC + ";") document.write(" POSITION: absolute; PADDING-TOP: 1px;") document.write(" LEFT: 12px; TOP: 10px; WIDTH: 240px; HEIGHT: 20px;\"") document.write(" LANGUAGE=javascript") document.write(" onmousemove=\"return Menu_onmousemove()\">") for(i = 1; i < menuData.length; i++) { document.write("<SPAN id=Menu" + i + " style=\"BACKGROUND-COLOR: " + M_BGC + ";") if(i == 1) { document.write(" BORDER-LEFT: " + MB_SC + " solid thin;") } document.write(" BORDER-RIGHT: " + MB_SC + " solid thin; CURSOR: default;") document.write(" WIDTH: 80px\"") document.write(" LANGUAGE=javascript") document.write(" onmouseover =\"return Menu_onmouseover(Menu" + i + ", sMenu" + i + ")\"") document.write(" onmouseout=\"return Menu_onmouseout(Menu" + i + ", sMenu" + i + ")\">") document.write(" Menu" + i + "</SPAN>") } document.write("</SPAN>") for(i = 1; i < menuData.length; i++) { document.write(" <DIV id=sMenu" + i + " style=\"BACKGROUND-COLOR: " + M_BGC + "; DISPLAY: none;") document.write(" POSITION: absolute; LEFT: 12px; TOP: 45px; WIDTH: 110px; HEIGHT: 46px;\"") document.write(" LANGUAGE=\"javascript\"") document.write(" onmousemove=\"return Menu_onmousemove()\">") for(j = 1; j <= menuData[i][0]; j++) { document.write(" <SPAN id=MenuItem" + i + "_" + j + " style=\"CURSOR: hand\"") document.write(" LANGUAGE=\"javascript\"") document.write(" onclick=\"return MenuItem_onclick(MenuItem" + i + "_" + j + ")\"") document.write(" onmouseover=\"return MenuItem_onmouseover(MenuItem" + i + "_" + j + ")\"") document.write(" onmouseout=\"return MenuItem_onmouseout(MenuItem" + i + "_" + j + ")\">") document.write(" " + menuData[i][j] + " </SPAN>") } document.write("</DIV>") } } function document_onmousemove() { if(((window.event.clientX + document.body.scrollLeft) > menu.offsetLeft) && ((window.event.clientX + document.body.scrollLeft) < (menu.offsetLeft + menu.offsetWidth)) && ((window.event.clientY + document.body.scrollTop) > menu.offsetTop) && ((window.event.clientY + document.body.scrollTop) < (menu.offsetTop + menu.offsetHeight + 10))) { return } else { sMenu1.style.display = "none" sMenu2.style.display = "none" sMenu3.style.display = "none" } } document.onmousemove = document_onmousemove document.onmouseout = document_onmousemove var M_BGC = "lightblue" var M_HBC = "lightskyblue" var M_FGC = "black" var M_AFC = "red" var MB_SC = "green" var menuLeft = 50 var menuTop = 10 var sMenu1Left = 0 var sMenu2Left = 100 var sMenu3Left = 200 var menuBar = new Array() var menuData = new Array() window.onscroll = locateMenu menuBar[1] = "Menu1" menuBar[2] = "Menu2" menuBar[3] = "Menu3" menuData[1] = new Array() menuData[1][0] = 2 menuData[1][1] = "MenuItem1_1" menuData[1][2] = "MenuItem1_2" menuData[2] = new Array() menuData[2][0] = 4 menuData[2][1] = "MenuItem2_1" menuData[2][2] = "MenuItem2_2" menuData[2][3] = "MenuItem2_3" menuData[2][4] = "MenuItem2_4" menuData[3] = new Array() menuData[3][0] = 3 menuData[3][1] = "MenuItem3_1" menuData[3][2] = "MenuItem3_2" menuData[3][3] = "MenuItem3_3" writeMenu() locateMenu() |