用Javascript获取页面元素的位置
这篇讲的是用JavaScript精准定位页面元素的实用方法。作者从最基础的网页大小与浏览器视口大小的区别讲起,厘清了容易混淆的概念。 接着,文章详细拆解了如何获取元素的“绝对位置”和“相对位置”。获取绝对位置时,需要累加元素自身及其所有offsetParent对象的offsetTop/Left;而获取相对位置,则要在绝对坐标的基础上减去页面的滚动距离。作者不仅给出了封装好的函数,还特别指出了在表格、iframe以及IE quirks模式等场景下的兼容性陷阱。 最后,文章介绍了一个更高效的内置方法——getBoundingClientRect。它可以直接返回元素相对于视口的坐标,只需简单加上滚动距离即可换算为绝对位置。文章也客观说明了其浏览器支持的差异。整篇内容由浅入深,将多个容易混淆的属性(如clientWidth与scrollWidth、offsetTop与scrollTop)讲得清晰透彻,代码示例也便于实践。