按楼主的代码
<style type="text/css">
#oData {
display: none;
}
#oPanel {
font-size: 12px;
border: 1px solid menu;
padding: 2px;
position: absolute;
display: none;
}
span {
font-size: 12px;
cursor: hand;
}
</style>
<script language="javascript">
var oMenu = new Object(); function Menu(_data, _panel) {
this.author = '51JS.COM-ZMM';
this.version = 'Menu 1.0';
this.data = _data;
this.panel = _panel;
this.drawMenu = function(e, _number, _offsetX, _offsetY) {
var nodeArr = this.data.childNodes;
var _handle = e.srcElement || e.target;
for (var i=0; i<nodeArr.length; i++) {
if (nodeArr[i].id == ('item_' + _number)) {
with (this) {
panel.innerHTML = nodeArr[i].innerHTML;
panel.style.left = this.getPosition(_handle).left + _offsetX;
panel.style.top = this.getPosition(_handle).top + _offsetY;
return true;
}
}
}
return false;
}; this.getPosition = function(_object) {
var _top = _left = 0;
var _root = document.body;
while (_object != _root) {
_top += _object.offsetTop;
_left += _object.offsetLeft;
_object = _object.offsetParent;
}
return { top: _top, left: _left };
}; this.showMenu = function(e, _number, _offsetX, _offsetY) {
if (this.drawMenu(e, _number, _offsetX, _offsetY)) {
this.panel.style.display = 'inline';
} else {
window.alert('arguments error!');
}
}; this.hideMenu = function() {
this.panel.style.display = 'none';
};
} window.onload = function() {
oMenu = new Menu(document.getElementById('oData'), document.getElementById('oPanel'));
document.onclick = new Function('oMenu.hideMenu();');
}
</script>
<body bgcolor="#000000" style="color:#FFFFFF">
<div id="oPanel"> </div><div id="oData">
<menu id="item_0">
<li> 命令一</li>
<li> 命令二</li>
</menu>
<menu id="item_1">
<li style="float:left"> 命令三</li>
<li style="float:left"> 命令四</li>
<li style="float:left"> 命令五</li>
<li style="float:left"> 命令六</li>
</menu>
<menu id="item_2">
<li style="float:left"> 命令七</li>
<li style="float:left"> 命令八</li>
</menu>
</div>
<div align="center">
<span onmouseover="oMenu.showMenu(event, 0, -2, 15);">菜单一</span>
<span onmouseover="oMenu.showMenu(event, 1, -2, 15);">菜单二</span>
<span onmouseover="oMenu.hideMenu();">菜单三</span>
<span onmouseover="oMenu.showMenu(event, 2, -2, 15);">菜单四</span>
</div>
</body>
<style type="text/css">
#oData {
display: none;
}
#oPanel {
font-size: 12px;
border: 1px solid menu;
padding: 2px;
position: absolute;
display: none;
}
span {
font-size: 12px;
cursor: hand;
}
</style>
<script language="javascript">
var oMenu = new Object(); function Menu(_data, _panel) {
this.author = '51JS.COM-ZMM';
this.version = 'Menu 1.0';
this.data = _data;
this.panel = _panel;
this.drawMenu = function(e, _number, _offsetX, _offsetY) {
var nodeArr = this.data.childNodes;
var _handle = e.srcElement || e.target;
for (var i=0; i<nodeArr.length; i++) {
if (nodeArr[i].id == ('item_' + _number)) {
with (this) {
panel.innerHTML = nodeArr[i].innerHTML;
panel.style.left = this.getPosition(_handle).left + _offsetX;
panel.style.top = this.getPosition(_handle).top + _offsetY;
return true;
}
}
}
return false;
}; this.getPosition = function(_object) {
var _top = _left = 0;
var _root = document.body;
while (_object != _root) {
_top += _object.offsetTop;
_left += _object.offsetLeft;
_object = _object.offsetParent;
}
return { top: _top, left: _left };
}; this.showMenu = function(e, _number, _offsetX, _offsetY) {
if (this.drawMenu(e, _number, _offsetX, _offsetY)) {
this.panel.style.display = 'inline';
} else {
window.alert('arguments error!');
}
}; this.hideMenu = function() {
this.panel.style.display = 'none';
};
} window.onload = function() {
oMenu = new Menu(document.getElementById('oData'), document.getElementById('oPanel'));
document.onclick = new Function('oMenu.hideMenu();');
}
</script>
<body bgcolor="#000000" style="color:#FFFFFF">
<div id="oPanel"> </div><div id="oData">
<menu id="item_0">
<li> 命令一</li>
<li> 命令二</li>
</menu>
<menu id="item_1">
<li style="float:left"> 命令三</li>
<li style="float:left"> 命令四</li>
<li style="float:left"> 命令五</li>
<li style="float:left"> 命令六</li>
</menu>
<menu id="item_2">
<li style="float:left"> 命令七</li>
<li style="float:left"> 命令八</li>
</menu>
</div>
<div align="center">
<span onmouseover="oMenu.showMenu(event, 0, -2, 15);">菜单一</span>
<span onmouseover="oMenu.showMenu(event, 1, -2, 15);">菜单二</span>
<span onmouseover="oMenu.hideMenu();">菜单三</span>
<span onmouseover="oMenu.showMenu(event, 2, -2, 15);">菜单四</span>
</div>
</body>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货