美文网首页
clientY,offsetY,screenY/layerY,p

clientY,offsetY,screenY/layerY,p

作者: jxyjxy | 来源:发表于2016-02-22 16:47 被阅读0次

1.clientY
鼠标在页面可视区域(不包括工具栏和滚动条)的位置。如果有滚动条,以滚动到的位置的可视区的左上角为原点,随滚动条移动而变化。IE事件和标准事件都定义了这个属性。
2.offsetY

  • IE特有的,鼠标相对于触发事件的元素的位置,以元素盒子模型的内容区域的左上角为原点,如果有border,可能出现负值。
  • layerY FF特有,鼠标相对于当前坐标系的位置,如果触发元素没有设置绝对定位或相对定位,以页面为参考点,如果有将改变坐标系,从触发元素盒子模型的border区域的左上角为参考点。
    以上两者的原点位置不同,一个为内容区域的左上角,一个为border区域的左上角。

3.screenY
鼠标在显示器(屏幕)中的位置,屏幕的左上角开始,所有浏览器都一致。
4.pageY
鼠标在页面上的位置,从页面左上角开始。位置以页面的左上角为参考点,不随滚动条的滑动而改变。但pageY为FF特有,IE不支持,IE下的解决方案:
pageY=clientY+scrollTop-clientTop(这里用y方向讨论)

综上,只有clientY和screenY均支持IE和标准浏览器,其它的都有问题。
标准浏览器chrome和safari完全支持上述所有属性,其中offsetY和layerY都是以border为参考点。

相关文章

  • clientY,offsetY,screenY/layerY,p

    1.clientY鼠标在页面可视区域(不包括工具栏和滚动条)的位置。如果有滚动条,以滚动到的位置的可视区的左上角为...

  • 基于Vue实现元素拖拽效果

    在实现拖拽效果时需要先理解clientY pageY screenY layerY offsetY的区别 clie...

  • 基于Vue实现拖拽效果

    效果图 分清clientY pageY screenY layerY offsetY的区别 在我们想要做出拖拽这个...

  • 基于Vue实现拖拽效果

    效果图 分清clientY pageY screenY layerY offsetY的区别 在我们想要做出拖拽这个...

  • 分清clientY pageY screenY layerY o

    在我们想要做出拖拽这个效果的时候,我们需要分清这几个属性的区别,这几个属性都是计算鼠标点击的偏移值,我们需要对其进...

  • Dom 坐标相关

    MouseEvent clientX/clientY:相对客户端窗口的 X/Y 坐标 layerX/layerY:...

  • DOM-BOM-EVENT(5)

    5.宽、高、位置相关 #5.1.clientX/clientY clientX和clientY表示鼠标在浏览器可视...

  • Ray射线

    获取射线Ray ray = cam.getPickRay(screenX, screenY); 计算距离Vecto...

  • 滑动视图偏移量

    CGFloat offsetY = scrollView.contentOffset.y;假设初始时content...

  • 滑动视图偏移量

    CGFloat offsetY = scrollView.contentOffset.y;假设初始时content...

网友评论

      本文标题:clientY,offsetY,screenY/layerY,p

      本文链接:https://www.haomeiwen.com/subject/darbkttx.html