如何正确获取DOM元素的位置偏移量



我试图使用element. getboundingclientrect()查找元素的偏移量,但是问题是,如果网页在高度方面很长,并且涉及滚动,则函数返回元素w.r.t窗口的偏移量。如何在页面顶部获得偏移量?

getBoundingClientRect()的文档在一个简短的示例中涵盖了您的用例:

在计算边界矩形时,视口区域(或任何其他可滚动元素)的滚动量将被考虑在内。这意味着每当滚动位置改变时,矩形的边界边(上、左、下和右)都会改变它们的值(因为它们的值是相对于视口而不是绝对的)。如果你需要一个相对于文档左上角的边界矩形,只需将当前滚动位置添加到顶部和左侧属性(这些可以使用window.scrollXwindow.scrollY获得),以获得一个独立于当前滚动位置的边界矩形。

最新更新