1

I am trying to fing the offsets of an element using element.getBoundingClientRect(), however the problem with this is if the webpage is long in terms of height and there is scrolling involved the function returns the offsets of the element w.r.t the window. How do I get the offsets w.r.t the top of the page?

Diablo3093
  • 963
  • 4
  • 15
  • 26

1 Answers1

1

The documentation for getBoundingClientRect() covers your use case in a brief example:

The amount of scrolling that has been done of the viewport area (or any other scrollable element) is taken into account when computing the bounding rectangle. This means that the rectangle's boundary edges (top, left, bottom, and right) change their values every time the scrolling position changes (because their values are relative to the viewport and not absolute). If you need the bounding rectangle relative to the top-left corner of the document, just add the current scrolling position to the top and left properties (these can be obtained using window.scrollX and window.scrollY) to get a bounding rectangle which is independent from the current scrolling position.

Marty
  • 39,033
  • 19
  • 93
  • 162