offsetTop / getBoundingClientRect (). верх элемента с позицией: липкий - PullRequest
0 голосов
/ 26 октября 2019

Когда элемент с position: sticky достигает его смещения (например, top: 0) и останавливается на экране, я не могу правильно получить его offsetTop, он показывает больше, чем необходимо. В то же время я не могу получить getBoundingClientRect().top, потому что он показывает 0. Пожалуйста, взгляните на этот пример:

https://jsfiddle.net/rafaylik/sf5Lcrjp/

Когда элемент привязан, он резервирует свое место в DOM, но расчеты занимают его фактическое местоположение.

Итак, как я могу получить координаты элемента, когда он липкий? Есть идеи?

1 Ответ

0 голосов
/ 26 октября 2019

Я думаю, что найду ответ, но поправьте меня, если кто-то знает более правильный путь.

Перед вычислением необходимо изменить position элемента с sticky на static. Получить его координаты и вернуть его к position: sticky.

...