window.document.body.scrollTop的值一直是0?
在标准模式下,即文档头部有 doctype 声明,浏览器滚动条是属于 html 元素的,只能通过 document.documentElement.scrollTop 获取滚动距离。
在怪异模式下,即文档头部没有 doctype 声明,浏览器滚动条数属于 body,通过 document.body.scrollTop 获取滚动距离。
一般建议这么写
const scrollTop =
window.pageYOffset ||
document.body.scrollTop ||
document.documentElement.scrollTop ||
0;