JavaScript中getBoundingClientRect() 方法返回元素的大小及其相对于视口的位置。
来源:互联网 发布:数据集成规范 编辑:程序博客网 时间:2024/05/21 18:32
getBoundingClientRect()
这个方法返回一个矩形对象,包含四个属性:left、top、right和bottom。分别表示元素各边与页面上边和左边的距离。
var box=document.getElementById('box'); // 获取元素
alert(box.getBoundingClientRect().top); // 元素上边距离页面上边的距离
alert(box.getBoundingClientRect().right); // 元素右边距离页面左边的距离
alert(box.getBoundingClientRect().bottom); // 元素下边距离页面上边的距离
alert(box.getBoundingClientRect().left); // 元素左边距离页面左边的距离
注意:IE、Firefox3+、Opera9.5、Chrome、Safari支持,在IE中,默认坐标从(2,2)开始计算,导致最终距离比其他浏览器多出两个像素,我们需要做个兼容。
document.documentElement.clientTop; // 非IE为0,IE为2
document.documentElement.clientLeft; // 非IE为0,IE为2
functiongGetRect (element) {
var rect = element.getBoundingClientRect();
var top = document.documentElement.clientTop;
var left= document.documentElement.clientLeft;
return{
top : rect.top - top,
bottom : rect.bottom - top,
left : rect.left - left,
right : rect.right - left
}
}
分别加上外边据、内边距、边框和滚动条,用于测试所有浏览器是否一致。
- JavaScript中getBoundingClientRect() 方法返回元素的大小及其相对于视口的位置。
- Element.getBoundingClientRect()方法返回元素的大小及其相对于视口的位置。
- [JavaScript]获取元素位置的快速方法getBoundingClientRect()
- Javascript getBoundingClientRect()来获取元素在页面的位置
- 使用getBoundingClientRect()方法获取元素距离浏览器周边的位置
- getBoundingClientRect() 来获取页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- 获取元素相对于body的位置
- javascript 元素的位置,大小单位
- 用getBoundingClientRect()来获取页面元素的位置
- 新发现getBoundingClientRect() 来获取页面元素的位置
- Mapreduce端join算法实现(订单和产品文件数据关联操作)
- 程序员励志名言警句
- 线程的六种状态
- dubbo服务器多个网卡绑定ip问题
- 关于PHP线程安全和非线程安全的区别
- JavaScript中getBoundingClientRect() 方法返回元素的大小及其相对于视口的位置。
- 重磅报告 | 70页PPT、10大关键词解读中国互联网创新飞跃的五年
- mac终端下修改MySQL的编码格式--找不到my-default.cnf及my.cnf
- weui实现多张图片上传,单个预览并删除
- 第二届江苏省科协青年会员创新创业大赛决赛(无锡赛区)圆满落幕
- 程序员要赚多少钱才能让妻子保持温柔和美丽
- sql语句中or条件有无括号举例!!
- mysql常用函数
- HTTP Cookie 详解二