clientX/Y、offsetX/Y、pageX/Y、screenX/Y和scrollTop/scrollLeft的区别
没有滚动条---------看这里
1. 没有滚动条
clientX/Y
- 与document 的距离
offsetX/Y
与 点击元素 比较
pageX/Y
- pageX/Y 和 clientX/Y 是相同的。(在没有滚动条的情况下)
screenX/Y
与 浏览器视口比较
2. 存在滚动条
clientX/Y
仍然和 document 比较。 但是需要 减去 滚动条的距离。
offsetX/Y
和 没有滚动条的情况一致。
pageX/Y
与 clientX/Y 一致
screenX/Y
点击位置 与 你的电脑屏幕 进行比较。
总结:
- clientX / clientY : 到
document
顶部和左边的距离。(不包含浏览器的书签栏、导航栏、页签栏) - pageX / pageY :同 clientX / clientY
- offsetX / offsetY :到
被点击元素
顶部和左边的距离。 - screenX / screenY:
点击位置
到电脑屏幕
顶部 和 左边 的距离。 - scrollLeft / scrollTop:滚动元素滚动的距离。