getBoundingClientRect 可以用来获取 元素 相对视图左上角的位置。它的返回值是一个对象,包含4个属性:{top:0,left:0,bottom:0,right:0},
——FirefoxV3.1+扩展了该对象,添加了width,height属性。
默认它是不计算页面的滚动距离的,跨浏览器的解决方案,可以参考jQuery的offset方法。
getClientRects 可以把一段文本是为"盒子"来处理。也就是说,可以用来计算一段文本的行数,高度、宽度。它的返回值是一个数组对象,
包含了TextRectangle 对象{top:0,left:0,bottom:0,right:0,width:0,height:0}。
IE支持block元素和inline元素里面文本.IE9+支持width、height属性。
其它浏览器仅支持 inline元素,对于block元素里面的文本,仅看做一个,数组包含一个TextRectangle对象。
例如:
// 假如 这里的文本做10行显示。
<span id="pp">这里是一大段文本</span>
var pp = document.getElementById("pp");
var aList = pp.getClientRects();
console.log(aList.length); // 10
//------------------------------------------
这里是一大段文本
var pp = document.getElementById("pp");
var aList = pp.getClientRects();
console.log(aList.length); // IE:10; 其它浏览器:1
更多资料,参考:
https://developer.mozilla.org/en-US/docs/DOM/element.getClientRects
https://developer.mozilla.org/en-US/docs/DOM/element.getBoundingClientRect
http://msdn.microsoft.com/zh-cn/subscriptions/downloads/hh779967.aspx
http://msdn.microsoft.com/zh-cn/subscriptions/downloads/hh780167.aspx
分享到:
相关推荐
返回值是一个 DOMRect 对象,这个对象是由该元素的 getClientRects() 方法返回的一组矩形的集合, 即:是与该元素相关的CSS 边框集合。 属性值: top: 元素上边距离页面上边的距离 left: 元素右边距离页面左边的...
js getBoundingClientRect() 来获取页面元素的位置 js 中的 getBoundingClientRect() 方法用于获取页面元素的位置信息,该方法可以获取元素相对于客户端窗口的 left、top、right 和 bottom 坐标值。 js ...
此外,还可以通过比较元素的 top 和 bottom 属性值与可见区域的高度来判断元素是否在可视区域内。 需要注意的是,getBoundingClientRect 方法的频繁计算可能会引发页面的重绘,从而对页面的性能造成影响。因此,在...
而TheWorld浏览器的getBoundingClientRect方法的实现与其他四种浏览器有所不同,在某些情况下将返回错误的结果。 三、浏览器getBoundingClientRect的应用场景 getBoundingClientRect方法有很多实际应用场景,例如...
关于浏览器兼容性,`getBoundingClientRect` 方法在Internet Explorer 5以上版本就已支持,但在IE6和IE7中存在一些小问题。这两个老版本的浏览器中,`left` 和 `top` 属性会比实际值少2像素,并且不提供 `width` 和 ...
### JavaScript中的`getBoundingClientRect()`方法详解 #### 一、引言 在Web开发中,我们经常需要获取页面中某个元素的尺寸以及它相对于视口的位置。`getBoundingClientRect()`方法为实现这一需求提供了一个简单而...
### JavaScript 中 `getBoundingClientRect` 的作用及兼容方案详解 #### 一、`getBoundingClientRect` 的基本概念 在JavaScript中,`getBoundingClientRect()` 方法是 Element 对象的一个重要成员方法,主要用于...
/* 保持宽度与原来一致 */ } ``` 这样,当满足条件时,`stickyElement`会根据`fixed`类的定义,自动调整其位置,从而实现“粘性”效果。当然,这个例子仅限于元素固定在顶部或底部的情况,如果需要更复杂的实现,...
所以,网页元素的相对位置就是 var X= this.getBoundingClientRect().left; var Y =this.getBoundingClientRect().top; 再加上滚动距离,就可以得到绝对位置 var X= this.getBoundingClientRect().left+document....
请使用 element.getBoundingClientRect()。 经本人测试,确实是Firefox在含flash的网页上提示,还不知道原因,也没找到解决办法。 Firefox版本:3.0.3 Flash: 10.0 html页面代码: 代码如下:<html> <body&...
在JavaScript的世界里,`getBoundingClientRect()` 是一个非常实用的DOM API,它可以帮助开发者获取到一个元素在浏览器视口中的几何信息。这个API返回一个对象,其中包含了元素的top、right、bottom、left、width和...
`getBoundingClientRect()` 是JavaScript中一个非常实用的DOM方法,它用于获取元素在视口中的边界信息,包括元素的顶部、底部、左侧和右侧相对于视口的位置。这个方法在现代浏览器中广泛支持,包括IE5以上版本、Fire...
与getBoundingClientRect返回的 rect 对象不同,此对象是可修改的,因此您可以根据需要添加或减去属性。 默认情况下,顶部、左侧、右侧和底部属性相对于文档的左上角,考虑了滚动偏移。 如果您想要相对于视口的值...
在早期的Internet Explorer 5中,这个方法返回的位置会相对于浏览器窗口的上左角,但这个点与真正的客户端坐标系有2像素的偏移。然而,随着浏览器的更新,`getBoundingClientRect()` 方法已被广泛支持,包括Firefox ...
项目中遇到图片实际显示尺寸的判定问题,图片可能被缩放过,所以实际显示的宽高无法通过常见的各种width,height拿到(都是得到图像的自然宽度或者...getClientRects 和 getBoundingClientRect 的区别 getClientRects 返回
响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例5-3 第5章 HTML5 画布 getBoundingClientRect()