`

关于弹出层显示出现的定位方法 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">
即可。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics