getBoundingClientRect()兼容性处理
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
function GetRect (element) {
var rect = element.getBoundingClientRect();
var top = document.documentElement.clientTop;
var left= document.documentElement.clientLeft;
return{
top : rect.top - top, //如果是IE7以下那么 结果为 ‘2 - 2’。 不是为IE的话 结果是 ‘ 0 - 0 ’; 不管哪种方式,结果最终就是0
bottom : rect.bottom - top,
left : rect.left - left,
right : rect.right - left
}
}
转载于:https://www.cnblogs.com/web-alibaba/p/4571905.html
getBoundingClientRect()兼容性处理相关推荐
- [转] getBoundingClientRect判断元素是否可见
getBoundingClientRect介绍 getBoundingClientRect获取元素位置 getBoundingClientRect用于获得页面中某个元素的左,上,右和下分别相对浏览器视 ...
- 前端学习——17——获取窗口属性,dom尺寸,让滚动条滚动
一:查看滚动条的滚动距离 1:window.pageXOffset 2:window.pageYOffest (IE8及IE8以下不兼容) <!DOCTYPE html> <html ...
- DOM初探(16)——查看元素的集合尺寸
三:DOM基本操作: 查看元素的集合尺寸 domEle.getBoundingClientRect(); 兼容性很好 改方法返回一个对象,对象里面有left,top,right,bottom等属性.l ...
- 【JavaScript 笔记】基础内容
文章目录 JavaScript 特点 1.浏览器组成 2.JavaScript - 解释型语言,单线程,也叫ECMAscript(ES) 3.js有三个部分 4.js执行队列,轮转时间片(类似吃饭) ...
- JavaScript note
1.浏览器 IE--trident Chrome--webkit / blink Firefox--gecko Opera--presto Safari--webkit 2.数据类型 a. 原始值: ...
- 登峰造极的Javascript
文章目录 switch case 条件判断语句 数组 对象 typeof操作符 显式类型转换 隐式类型转换 函数 参数 作用域 作用域链 闭包 立即执行函数 对象,包装类 包装类 原型.原型链 原型链 ...
- JavaScript yyds
JavaScript yyds JavaScript历史 主流浏览器及其内核 JavaScript中的数据类型 typeof函数 特殊情况 显示类型转换 隐式类型转换 函数 命名函数声明 匿名函数表达 ...
- JavaScript DOM学习笔记
DOM(Document Object Model) dom提供了操作html和xml的机会,他是一个操作html和xml功能的一类对象的集合 DOM的基本操作 document代表整个文档 Node ...
- 9_js 日期对象Date()、js定时器、获取窗口属性、获取dom尺寸、脚本化css
日期对象Date() 封装函数,打印当前是何年何月何日何时,几分几秒 直接看w3c上的介绍吧 https://www.w3school.com.cn/js/jsref_obj_date.asp js定 ...
- 尚硅谷_HTML5 核心 实战 笔记
目录 序 offsetParent & offsetLeft & offsetTop 获取绝对位置和相对位置 自定义的函数 getBoundingClientRect offsetWi ...
最新文章
- 近期活动盘点:AI Time:论道AI安全与伦理、大数据、AI在中国金融保险业的应用案例分享讲座...
- poj3264 - Balanced Lineup(RMQ_ST)
- time包中Parse和Format的区别
- LeetCode 551. Student Attendance Record I
- 吴恩达深度学习——2.3 logistic回归损失函数
- 360浏览器清凉新版让手机解暑
- 证券业大数据与人工智能发展现状与应用趋势
- 视频加密技术的实与破解
- latex下的实数集R的写法
- pdf签名无效解决办法_谁告诉你PDF不能修改了?我不仅可以直接编辑,还能随便转化格式!...
- 爬虫是什么?可以用来干什么?
- 【转载】手机UC浏览器缓存视频合并方法
- 零基础如何学习SEO网站优化
- jQuery实现简单图片的轮播(自右向左播放)
- android自动登录简书,Android开发之简单登录界面
- c语言-基础知识点复习
- 衣服上的RFID标签对身体有什么影响
- oj 3014 文件格式变换
- cad如何打开stp文件_stp文件怎么打开_CAD打开stp文件详细介绍_酷下载
- Nginx安装及配置教程
热门文章
- Photoshop小技巧集锦八十条
- Java中的for循环和JavaScript中的for循环差别初探(02)
- C#-WinForm-发送邮件
- 如何查看K/3数据库表及字段详细信息
- 非关系型数据库和关系型数据库区别(转载)
- 16. 反转链表(C++版本)
- 07. Declare destructors virtual in polymorphic base classes
- angular环境配置
- Java设计模式之单例(Singleton)模式解析
- 每天一道剑指offer-约瑟夫环求解圆圈中剩余的数