使用js实现下拉菜单功能,但在firefox浏览器上无法体现
我使用js实现下拉菜单功能,在ie上使用正常,但在firefox上无法实现当鼠标移开后隐藏菜单的功能。
我实现隐藏功能的函数是这样的:
function judgeMenu()
{
//当前1级菜单名
var theShowMenu = "mnu" + theShowMenuIndex;
//当前2级菜单名
var theShowSubMenu = "submnu" + theShowMenuIndex;
//获得菜单的左、右、上、下的边界值
var theX1 = parseInt(document.getElementById(theShowSubMenu).style.left);
var theX2 = theX1 + document.getElementById(theShowSubMenu).clientWidth;
var theY1 = parseInt(document.getElementById(theShowMenu ).style.top);
var theY2 = parseInt(document.getElementById(theShowSubMenu ).style.top) + document.getElementById(theShowSubMenu).clientHeight;
//当鼠标在菜单范围以外,隐藏2级菜单
if (event.clientX < theX1 || event.clientX > theX2 || event.clientY < theY1 || event.clientY > theY2 )
{
for (i=1;i<=7;i++)
{
subMenu = "submnu" + i;
document.getElementById(subMenu).style.visibility = "hidden";
}
}
}
我各个id没有重复。请问是什么原因,谢谢。
------解决方案--------------------event.clientX
IE专用
------解决方案--------------------把event作为参数传递到函数中
JScript code
function judgeMenu(e)
{
e=e||event;//这样取事件对象,访问时使用变量e就可以了
}