getBoundingClientRect
Posted shenjp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getBoundingClientRect相关的知识,希望对你有一定的参考价值。
getBoundingClientRect() 用于获取元素相对于浏览器饰扣的位置,这个API早已经是W3C标准兼容性不用担心,不过在IE下有些许的区别
{ top: ‘元素顶部相对于视口顶部的距离‘, bottom: ‘元素底部相对于视口底部的距离‘, left: ‘元素左边相对于视口左边的距离‘, right: ‘元素右边相对于视口左边的距离‘, height: ‘元素高度‘, width: ‘元素宽度‘ } // IE兼容性写法 function getClientReat(client) { const { top, bottom, left, right, height, width } = client.getBoundingClientRect() return { top, bottom, left, right, height: height || right - left, width: width || bottom - top
} }
兼容性参见 https://caniuse.com/#search=getBoundingClientRect
MDN: https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect
以上是关于getBoundingClientRect的主要内容,如果未能解决你的问题,请参考以下文章
Element.getBoundingClientRect 啥时候保证更新/准确?
用getBoundingClientRect()来获取页面元素的位置
使用 useeffect 和 useref TypeError 时出错:无法读取 null 的属性“getBoundingClientRect”
利用getBoundingClientRect方法实现简洁的sticky组件