Когда элемент с
position: sticky достигает указанной позиции (например
top: 0) и прилипает к окну, то не получается правильно получить его изначальные статичные координаты (относительно окна и относительно родителя).
- Значение getBoundingClientRect().top становится равно нулю.
- Значение offsetTop увеличивается по мере прокрутки.
Демонстрация проблемы:
https://jsfiddle.net/Lxud76ma/
Всё это логично, ведь элемент фактически плывет внутри своего родителя. И несмотря на то, что место под его статичное положение остаётся зарезервированным (остальные элементы не сдвигаются, как если бы элемент имел
position: fixed), но расчеты координат идут по его фактическом местонахождению.
Как в данном случае получить координаты того места, которое зарезервировано для элемента в его статичном положении, но тогда пока он приклеен к экрану? Есть идеи?