js 获得盒子距离窗口的距离的集合的函数dom.getboundingclientrect()
来源:互联网 发布:legion软件下载 编辑:程序博客网 时间:2024/04/26 12:04
rectObject = object.getBoundingClientRect();
返回值是一个 DOMRect 对象,这个对象是由该元素的 getClientRects()
方法返回的一组矩形的集合, 即:是与该元素相关的CSS 边框集合 。
DOMRect 对象包含了一组用于描述边框的只读属性——left、top、right和bottom,单位为像素。除了 width 和 height 外的属性都是相对于视口的左上角位置而言的。
getBoundingClientRect()最先是IE的私有属性,现在已经是一个W3C标准。所以你不用当心浏览器兼容问题,不过还是有区别的:IE只返回top,lef,right,bottom四个值,不够可以通过以下方法来获取width,height的值:
var ro = object.getBoundingClientRect(); var Width = ro.right - ro.left; var Height = ro.bottom - ro.top; //兼容所有浏览器写法: var ro = object.getBoundingClientRect(); var Top = ro.top; var Bottom = ro.bottom; var Left = ro.left; var Right = ro.right; var Width = ro.width||Right - Left; var Height = ro.height||Bottom - Top; //有了这个方法,获取页面元素的位置就简单多了: var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft; var Y =this.getBoundingClientRect().top+document.documentElement.scrollTop;
getClientRects 和 getBoundingClientRect 的区别
返回类型差异:
getClientRects 返回一个TextRectangle集合,就是TextRectangleList对象。
getBoundingClientRect 返回 一个TextRectangle对象,即使DOM里没有文本也能返回TextRectangle对象.
浏览器差异:
除了safari,firefox2.0外所有浏览器都支持getClientRects和getBoundingClientRect,
firefox 3.1给TextRectangle增加了 width 和 height。
ie 和非ie浏览器在使用getClientRects还是有些差别的,ie获取TextRectangleList的范围很大。而非ie获取的范围比较小, 只有display:inline的对象才能获取到TextRectangleList,例如em i span 等标签。
通过测试,至少Chrome 2+\Safari 4\Firefox3.5\0pera 9.63+已经支持getBoundingClientRect方法。
- js 获得盒子距离窗口的距离的集合的函数dom.getboundingclientrect()
- javaScript中getBoundingClientRect获取div盒子到页面浏览器顶部的距离
- JS获得指定元素距离浏览器顶部的距离offsetTop
- 使用getBoundingClientRect()方法获取元素距离浏览器周边的位置
- 获得XRecyclerView的滑动距离
- padding,盒子与文字之间的距离。
- SVM的函数距离和几何距离
- 如何获得当前屏幕顶端距离整个页面最上端的距离(即js获取浏览器滚动条距离顶端的距离)
- 创建函数计算目标元素到浏览器窗口的距离
- 获得两个GPS坐标之间的距离
- 百度地图获得两地之间的距离
- 点线段的距离函数
- JS 中getBoundingClientRect()的用法
- mysql JS 计算两GPS坐标的距离函数:
- js获取浏览器滚动条距离顶端的距离
- js获取浏览器滚动条距离顶端的距离
- js 获取浏览器滚动条距离顶端的距离
- js获取浏览器滚动条距离顶端的距离
- MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-1章
- MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-2章
- MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-3章
- Eureka的服务集群
- MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-4章
- js 获得盒子距离窗口的距离的集合的函数dom.getboundingclientrect()
- jquery ajax设置header的两种方式
- 微信公众号与小程序数据互通
- 按Enter或Esc,MFC程序退出的解决方法
- 2017年第0届浙江工业大学之江学院程序设计竞赛决赛
- java源码分析之ArrayList
- 视觉跟踪综述
- Novate 封装Rxjava2.0 的使用
- Android在AndroidStudio中引用Module依赖注意事项