Google Chrome document.body.scrollTop始终返回0

Ric*_*ing 8 javascript jquery scroll google-chrome chromium

在Google Chrome中,document.body.scrollTop始终返回0.

我试试

  if (window.pageYOffset > 0) {
    st = window.pageYOffset;
  } else if (document.documentElement.scrollTop > 0) {
    st = document.documentElement.scrollTop;
  } else {
    st = document.body.scrollTop;
  }
Run Code Online (Sandbox Code Playgroud)

但不行.document.body.scrollTop正在使用firefox.

即使在Chrome控制台中,当我在控制台中使用此代码时也无法正常工作.

enter code here
  $('html, body').stop().animate({
    scrollTop: 50
  }, 500);
Run Code Online (Sandbox Code Playgroud)

Ian*_*joy 10

我也打了这个.根据此问题,此行为在Chrome 60和Chrome 61之间发生了变化:

https://bugs.chromium.org/p/chromium/issues/detail?id=766938

根据我的阅读,新行为实际上更符合标准.针对该问题的评论#5的建议修正是:

如果您正在寻找一种可互操作的查询scrollTop的方法,您可以使用window.scrollY属性或执行document.documentElement.scrollTop ||之类的操作.的document.body.scrollTop