注:火狐和ie获取display的方法不同,用前先判断,要不不兼容
var
currentstyle
=
function(e){
return
e.currentstyle
||
document.defaultview.getcomputedstyle(e,
null)
}
if(currentstyle(document.getelementbyid(id))['display']=='none'){
document.getelementbyid(divname).style.display
=
"block"
}else{
document.getelementbyid(divname).style.display
=
"none"
}
这个也不复杂,不过感觉你的这个代码并不好的样子。//根据id获取对象
function
$(id)
{
return
document.getElementById(id)
}
function
showMenu(baseID,divID)
{
baseID=$(baseID)
divID=$(divID)
if(showMenu.timer)clearTimeout(showMenu.timer)//清楚定时器
hideCur()//隐藏上个菜单
divID.style.display='block'//显示当前菜单
showMenu.cur=divID//保存当前菜单对象
if(!divID.isCreate)
{//该菜单没创建标志则设置为已创建
divID.isCreate=true
//divID.timer
=
0
divID.onmouseover=function
()
{//鼠标放在菜单上时显示
if(showMenu.timer)clearTimeout(showMenu.timer)
hideCur()
divID.style.display='block'
}
function
hide()
{//鼠标离开菜单1秒后隐藏菜单
showMenu.timer=setTimeout(function
()
{
divID.style.display='none'
},1000)
}
divID.onmouseout=hide
baseID.onmouseout=hide
}
function
hideCur()
{//隐藏上个菜单
showMenu.cur&&(showMenu.cur.style.display='none')
}
}