js 鼠标点击位置获取

event.offsetY/X

  • 众所周知event.offsetX可以获取鼠标点击位置距包含元素的左边界距离
  • 今天做项目的时候需要用到距离就研究一番这一堆函数的区别
    js 鼠标点击位置获取

clientY/X
offsetTop/Left
screenY/X

clientY/X

  • clientY/X是你鼠标点击元素上边界距文档最上层的距离,不管你滑块怎么滑这个距离是固定的(margin-top会被计算在里面也就是说从border开始算的距离)
  • pageY/X 是鼠标点击的位置距文档最上端的距离,同样不管你怎么滑只要点的位置没变这个距离也是固定的
  • 就可以得出pageY/X - target.offsetTop/Left = offsetY/X
  • 同理你也可以根据鼠标的点击位置来计算出页面向下/上滑动了多少的距离