js获得页面中的绝对位置

xiaoxiao2026-09-16  16

[size=small]TextRectangle对象,对getClientRects和getBoundingClientRect可以得到一个更好的说明. getClientRects 返回一个TextRectangle集合,就是TextRectangleList对象。 getBoundingClientRect 返回 一个TextRectangle对象。 浏览器差异: 除了safari,firefox2.0外所有浏览器都支持getClientRects和getBoundingClientRect, firefox 3.1给TextRectangle增加了 width 和 height。 ie 和非ie浏览器在使用getClientRects还是有些差别的,ie获取TextRectangleList的范围很大。而非ie获取的范围比较小, 只有display:inline的对象才能获取到TextRectangleList,例如em i span 等标签。 使用场景: 现 在用得最多的是getBoundingClientRect,这个直接返回一个TextRectangle,其实大家经常使用它来获取到一个 element的viewport坐标.其实就算dom里面没有文本也能返回一个 TextRectangle. 这样就不需要向上遍历来计算对象的相对坐标了。 如果不支持getBoundingClientRect可用下列方法获得 取得页面上元素的绝对位置x y function getX(obj){ return obj.offsetLeft + (obj.offsetParent ? getX(obj.offsetParent) : obj.x ? obj.x : 0); } function getY(obj){ return (obj.offsetParent ? obj.offsetTop + getY(obj.offsetParent) : obj.y ? obj.y : 0); } [/size] 相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5052765.html

最新回复(0)