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

作者:函数茶馆时间:2026-10-24 09:52:27浏览:404

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 则不支持。

作者最新文章