javascript的一些坐标位置属性

本文详细解释了不同浏览器下鼠标事件的坐标系统,包括offsetX/offsetY、pageX/pageY等属性的区别及应用。探讨了各属性在不同浏览器中的表现,并推荐了在JavaScript开发中最实用的坐标属性。
摘要由CSDN通过智能技术生成
参考另一:[url]http://www.cnblogs.com/rainman/archive/2009/02/15/1391056.html[/url]


offsetX/offsetY:相对于当前元素的位移
x/y:相对于当前座标系的位移,但是IE常常搞错当前座标系
layerX/layerY:相对于当前座标系的位移
pageX/pageY:相对于网页的位移
clientX/clientY:相对于可视窗口的位移
screenX/screenY:相对于屏幕的位移

offsetX/offsetY:W3C- IE+ Firefox- Opera+ Safari+
x/y:W3C- IE+ Firefox- Opera+ Safari+
layerX/layerY:W3C- IE- Firefox+ Opera- Safari+
pageX/pageY:W3C- IE- Firefox+ Opera+ Safari+
clientX/clientY:W3C+ IE+ Firefox+ Opera+ Safari+
screenX/screenY:W3C+ IE+ Firefox+ Opera+ Safari+

六对属性只有clientX/clientY和screenX/screenY是W3C规范内的。
而 offsetX/offsetY和pageX/pageY知其一组即可通过计算取得另一组,对于JS开发者而言,Firefox/Opera /Safari提供的pageX/pageY更加实用。x/y和layerX/layerY本应该是作用相同、名称不同的两组属性,即相对于 offsetParent对象的位移,但是IE对offsetParent的判断却相当不准确,大部份情况下offsetParent对象都等于body 对象,最严重的后果就是在一个绝对定位的层中offsetParent对象本应该为层对象,可IE却依旧为body对象,导致座标系混乱,而Opera和 Safari中的x/y则同样继承了IE中的错误,因此x/y属性能不用则不用。[color=darkred][/color][/color][size=large][/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值