鼠标事件对象中的各种坐标
在鼠标的事件对象中,含有很多可形容坐标的属性,然而它们之间是有区别的。
常见的属性有:
1. clientX/Y
含意: 示意以后鼠标地位间隔可视区域的间隔,这个可视区域指的是浏览器窗口的大小,或者可了解为整个网页,网页是不会因为滚动条滚动而变动的。所以该值并不会因为呈现滚动条而变动。
兼容性: 各个浏览器都反对。
2. pageX/Y
含意: 这个值代表的是以后鼠标地位间隔网页首屏的间隔,因为网页首屏是随着滚动条的滚动而变动, 首屏指的是你看见的第一屏,滚动后就是第二屏,第三屏。所以该值会因滚动而变动。
兼容性:IE8及其以下不反对该属性 火狐没有该属性
兼容解决:
pageX = clientX + scrollLeft pageY = clientY + scrollTop
3. offsetX/Y
含意: 示意以后鼠标地位间隔其所属Dom的元素的程度以及垂直偏移量,然而参考点在不同的浏览器是不雷同的,IE认为参考点是dom元素的padding开始的左上角局部,而chrome认为参考点是dom 以border开始的左上角开始的地位。
兼容性:待补充
4. lauyoutX/Y
含意: 与pageX/Y 是一个意思,火狐没有pageX/Y属性从而出的一个替代品
兼容性:
5. x/y
补充
参考点
- 相对定位元素绝对于body进行定位,参考点是网页首屏,也就是会随着滚动条滚动而变动。参考点等同于pageX
- 固定定位的参考点是整个文档.不会因滚动而变动。参考点等同于clientX