浏览器可视区坐标
2015-08-18 19:11
411 查看
getBoundingClientRect()亲测兼容ie7+
下面的算法是为了解决ie下2个像素的差异
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 } }
相关文章推荐
- ResourceManager Main方法
- 浅谈数据结构-二叉树
- 1596 find the safest road【floyd】
- class 文件格式
- servlet完全教程
- nginx实现负载均衡
- HTML简介
- HDU 1017.A Mathematical Curiosity【细节及转换】【8月18】
- maven实战笔记 - 构建、打包和安装maven
- Java并发编程实战笔记(三):对象的组合
- Android Studio系列--基本设置与运行
- use mockito framework to create UT(单元测试)
- LightOJ 1094 - Farthest Nodes in a Tree
- Kruskal算法 之 Java详解
- Web Component总结
- POJ 3262 Protecting the Flowers
- HDU 1507 Uncle Tom's Inherited Land*(行列匹配||棋盘覆盖||黑白染色||奇偶匹配(1X2的矩形覆盖))
- Android架构
- category和protocol 第五天稍晚了一些。
- L轻松学习inux教程5 知识与学习bash