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

在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; } 

但不工作。 document.body.scrollTop正在使用firefox。

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

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

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

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

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

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