带有一些视觉提示的示例非常有用。
答案 0 :(得分:105)
屏幕→显示器的全屏(screenX/Y
)
位置始终相对于物理屏幕的视口。
客户端→浏览器的客户端视口(clientX/Y
)
如果单击左上角,则值将始终(0,0)独立于滚动位置。
文档→完整的文档/页面(pageX/Y
)
请注意pageX
对象are not standardized上的pageY
/ UIEvent
。
所有值都以像素为单位。
答案 1 :(得分:47)
<强> jsBin DEMO 强>
clientX
clientY
=鼠标位置相对于浏览器视口边界的值(px
)。
<子> 提示强>
即使您滚动文档,值也始终相同
pageX
pageY
=鼠标位置相对于文档最左/右“边”的值(px
)。
<子> 提示强>
如果您垂直滚动文档(即),pageY
值更改会导致文档中的新鼠标顶部位置。
值得注意的是:
event.pageY - event.clientY === document.documentElement.scrollTop
(或jQuery的$("html, body").scrollTop()
)
screenX
和screenY
是当前鼠标位置相对于物理屏幕的值(px
)。
(这个没有提示;))
答案 2 :(得分:8)
一般来说,差异是:
Here是一个可以动态测试差异的页面。