`
zengshaotao
  • 浏览: 753296 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

鼠标点击的位置,滚动条,兼容

 
阅读更多

j经常要计算鼠标当前点击的位置,并且页面经常发生了滚动。这个时候需要考虑浏览器的兼容问题(不兼容的属性,得到的内容为0,比如document.body.scrollTop在chrome可以,但是在IE8下,就提示为0):

 

//方法1
functionmousePos(e){
  var x,y;
  var e = e||window.event;
  return {
    x:e.clientX+document.body.scrollLeft + document.documentElement.scrollLeft,
    y:e.clientY+document.body.scrollTop + document.documentElement.scrollTop
  };
};
  
//方法2
//Firefox支持属性pageX,与pageY属性,这两个属性已经把页面滚动计算在内了,
//在Chrome可以通过document.body.scrollLeft,document.body.scrollTop计算出页面滚动位移,
//而在IE下可以通过document.documentElement.scrollLeft ,document.documentElement.scrollTop
function getMousePos(event) {
      var e = event || window.event;
      var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
      var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
      var x = e.pageX || e.clientX + scrollX;
      var y = e.pageY || e.clientY + scrollY;
      return { 'x': x, 'y': y };
    }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics