当前位置: 代码迷 >> Web前端 >> 关于弹出层显示出现的定位步骤 document.documentElement.scrollLeft document.body.sc
  详细解决方案

关于弹出层显示出现的定位步骤 document.documentElement.scrollLeft document.body.sc

热度:460   发布时间:2012-09-03 09:48:39.0
关于弹出层显示出现的定位方法 document.documentElement.scrollLeft document.body.sc

取得鼠标的坐标方法:

?

/***
鼠标坐标位置
**/
function mousePosition(ev){
     if(ev.pageX || ev.pageY){
      return {x:ev.pageX, y:ev.pageY};
      }
      return {
       //使用document.documentElement.scrollLeft   这个document.body.scrollLeft不精准
       x:ev.clientX + document.documentElement.scrollLeft - document.documentElement.clientLeft,
       y:ev.clientY + document.documentElement.scrollTop  - document.documentElement.clientTop
       }; 
 } 

/***
鼠标坐标位置
**/
function mouseMove(ev){
    ev = ev || window.event;
    var mousePos = mousePosition(ev);
    x_size = mousePos.x
    y_size = mousePos.y
    //document.getElementById('xxx').value = mousePos.x;
    //document.getElementById('yyy').value = mousePos.y;
}

document.onmousemove = mouseMove;
?

开始的时候我使用的是

?

document.body.scrollLeft

方法取得鼠标位置,但是如果页面出现滚动过,就会出现显示偏差,不是我想要的显示位置

其实只要使用document.documentElement.scrollLeft代替body就可以了,不过此时,你需要要在页面上

定义

<html xmlns="http://www.w3.org/1999/xhtml">
即可。

?

  相关解决方案