`
mutongwu
  • 浏览: 448403 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于getBoundingClientRect 与 getClientRects

阅读更多

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
0
0
分享到:
评论

相关推荐

    js getBoundingClientRect使用方法详解

    返回值是一个 DOMRect 对象,这个对象是由该元素的 getClientRects() 方法返回的一组矩形的集合, 即:是与该元素相关的CSS 边框集合。 属性值: top: 元素上边距离页面上边的距离 left: 元素右边距离页面左边的...

    js getBoundingClientRect() 来获取页面元素的位置.docx

    js getBoundingClientRect() 来获取页面元素的位置 js 中的 getBoundingClientRect() 方法用于获取页面元素的位置信息,该方法可以获取元素相对于客户端窗口的 left、top、right 和 bottom 坐标值。 js ...

    js getBoundingClientRect使用方法详解.docx

    此外,还可以通过比较元素的 top 和 bottom 属性值与可见区域的高度来判断元素是否在可视区域内。 需要注意的是,getBoundingClientRect 方法的频繁计算可能会引发页面的重绘,从而对页面的性能造成影响。因此,在...

    各种常用浏览器getBoundingClientRect的解析

    而TheWorld浏览器的getBoundingClientRect方法的实现与其他四种浏览器有所不同,在某些情况下将返回错误的结果。 三、浏览器getBoundingClientRect的应用场景 getBoundingClientRect方法有很多实际应用场景,例如...

    js中getBoundingClientRect的作用及兼容方案详解

    关于浏览器兼容性,`getBoundingClientRect` 方法在Internet Explorer 5以上版本就已支持,但在IE6和IE7中存在一些小问题。这两个老版本的浏览器中,`left` 和 `top` 属性会比实际值少2像素,并且不提供 `width` 和 ...

    js中getBoundingClientRect( )方法案例详解.docx

    ### JavaScript中的`getBoundingClientRect()`方法详解 #### 一、引言 在Web开发中,我们经常需要获取页面中某个元素的尺寸以及它相对于视口的位置。`getBoundingClientRect()`方法为实现这一需求提供了一个简单而...

    js中getBoundingClientRect的作用及兼容方案详解.docx

    ### JavaScript 中 `getBoundingClientRect` 的作用及兼容方案详解 #### 一、`getBoundingClientRect` 的基本概念 在JavaScript中,`getBoundingClientRect()` 方法是 Element 对象的一个重要成员方法,主要用于...

    使用getBoundingClientRect方法实现简洁的sticky组件的方法

    /* 保持宽度与原来一致 */ } ``` 这样,当满足条件时,`stickyElement`会根据`fixed`类的定义,自动调整其位置,从而实现“粘性”效果。当然,这个例子仅限于元素固定在顶部或底部的情况,如果需要更复杂的实现,...

    javascript 获取元素位置的快速方法 getBoundingClientRect()

    所以,网页元素的相对位置就是 var X= this.getBoundingClientRect().left; var Y =this.getBoundingClientRect().top; 再加上滚动距离,就可以得到绝对位置 var X= this.getBoundingClientRect().left+document....

    Firefox getBoxObjectFor getBoundingClientRect联系

    请使用 element.getBoundingClientRect()。 经本人测试,确实是Firefox在含flash的网页上提示,还不知道原因,也没找到解决办法。 Firefox版本:3.0.3 Flash: 10.0 html页面代码: 代码如下:&lt;html&gt; &lt;body&...

    isElementInView:getBoundingClientRect()的简单代码实现

    在JavaScript的世界里,`getBoundingClientRect()` 是一个非常实用的DOM API,它可以帮助开发者获取到一个元素在浏览器视口中的几何信息。这个API返回一个对象,其中包含了元素的top、right、bottom、left、width和...

    javascript getBoundingClientRect() 来获取页面元素的位置的代码[修正版]第1/2页

    `getBoundingClientRect()` 是JavaScript中一个非常实用的DOM方法,它用于获取元素在视口中的边界信息,包括元素的顶部、底部、左侧和右侧相对于视口的位置。这个方法在现代浏览器中广泛支持,包括IE5以上版本、Fire...

    jquery.bounds:用于 getBoundingClientRect 的 jQuery 助手

    与getBoundingClientRect返回的 rect 对象不同,此对象是可修改的,因此您可以根据需要添加或减去属性。 默认情况下,顶部、左侧、右侧和底部属性相对于文档的左上角,考虑了滚动偏移。 如果您想要相对于视口的值...

    js getBoundingClientRect() 来获取页面元素的位置

    在早期的Internet Explorer 5中,这个方法返回的位置会相对于浏览器窗口的上左角,但这个点与真正的客户端坐标系有2像素的偏移。然而,随着浏览器的更新,`getBoundingClientRect()` 方法已被广泛支持,包括Firefox ...

    js 获取图像缩放后的实际宽高,位置等信息

    项目中遇到图片实际显示尺寸的判定问题,图片可能被缩放过,所以实际显示的宽高无法通过常见的各种width,height拿到(都是得到图像的自然宽度或者...getClientRects 和 getBoundingClientRect 的区别 getClientRects 返回

    响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例5-3 getBoundingClientRect

    响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例5-3 第5章 HTML5 画布 getBoundingClientRect()

Global site tag (gtag.js) - Google Analytics