我正在使用以下的showDiv函数,在光标位置显示一个DIV弹出菜单,但是我无法想出如何调整它,使得菜单不会消失在可见区域的底部或右侧边缘。在显示DIV之前是否有可能进行补偿?
var posx;
var posy;
function getMouse(e){
posx = 0;
posy = 0;
if (!e) var e = window.event;
if (e.pageX || e.pageY){
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY){
posx = e.clientX;
posy = e.clientY;
}
}
function showDiv(id){
var obj = document.getElementById(id);
obj.style.left=posx+'px';
obj.style.top=posy+'px';
obj.style.display='block';
}
...
<body onMouseMove="getMouse(event)">
showDiv
是否正在从getMouse
函数中访问作用域变量?或者它们是在更高的作用域中定义的? - A1rPun