又一个微软式下拉菜单原码

这是主页面: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(" &nbsp;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(" &nbsp;" + menuData[i][j] + "&nbsp;</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()