Body.ScrollTop возвращает 0 в Safari, когда тело является элементом прокрутки, а не HTML - PullRequest
1 голос
/ 07 марта 2019

В этом примере:

  • HTML установлен на overflow:hidden с 100vh
  • Тело также установлено на 100vh с overflow на scroll

Это делает тело элементом прокрутки, и существуют различные другие причины, по которым это было необходимо для этого проекта.

В Chrome document.body.scrollTop будет определять текущее положение прокрутки тела, но вSafari возвращает 0.

. Любой другой обходной путь также возвращает 0, включая:

var scrollingElement = document.scrollingElement || document.documentElement;
console.log(scrollingElement.scrollTop)

и

window.pageYOffset

document.scrollingElement возвращает HTML-тело.

В чем здесь проблема?

...