JavaScript 获取元素位置:getBoundingClientRect() 详解

作者:函数茶馆

时间:2026-10-24

浏览:403

getBoundingClientRect() 方法返回包含元素左上角和右下角相对于视口距离的对象。通过结合滚动偏移量,可计算元素的绝对位置。该方法在 IE、Firefox 3.0+ 及 Opera 9.5+ 中受支持,旧版浏览器可能不支持。

文章目录

getBoundingClientRect() 获取元素位置详解

该方法返回一个对象,包含 left、right、top 和 bottom 四个属性,分别表示元素左上角和右下角相对于浏览器视口(viewport)左上角的距离。


因此,网页元素的相对位置可以通过以下方式计算:


var X= this.getBoundingClientRect().left;


var Y =this.getBoundingClientRect().top;


若要获取绝对位置,需在此基础上加上页面的滚动距离:


var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft;


var Y =this.getBoundingClientRect().top+document.documentElement.scrollTop;


目前,IE、Firefox 3.0+ 以及 Opera 9.5+ 均支持此方法,而 Firefox 2.x、Safari、Chrome 和 Konqueror 则不支持。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章