getBoundingClientRect()
getBoundingClientRect() 方法返回元素的大小及其相对于视口的位置。
getBoundingClientRect()获取元素位置,这个方法没有参数;
getBoundingClientRect()用于获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置。
getBoundingClientRect()是DOM元素到浏览器可视范围的距离(不包含文档遮住的部分)。
语法:
var domRect = element.getBoundingClientRect();
返回值类型:
domRect .top:元素上边到视窗上边的距离;
domRect .right:元素右边到视窗左边的距离;
domRect .bottom:元素下边到视窗上边的距离;
domRect .left:元素左边到视窗左边的距离;
例子:
<div id="box"></div>
var object=document.getElementById('box');
rectObject = object.getBoundingClientRect();
rectObject.top:元素上边到视窗上边的距离;
rectObject.right:元素右边到视窗左边的距离;
rectObject.bottom:元素下边到视窗上边的距离;
rectObject.left:元素左边到视窗左边的距离;
rectObject.width:是元素自身的宽
rectObject.height是元素自身的高
应用场景:
获取指定节点元素的大小及其相对于视口的位置。
浏览器兼容
特征 :Chrome(谷歌) Firefox(火狐) Safari Edge IE Opera(欧朋)
1. 返回的对象缺乏width和height属性。
2返回的对象不能添加新属性; 它不可扩展。
3. 返回的对象缺少x&y值,但可以使用现有的top&left值。