我们在实际开发中,经常碰到这样的场景,求取页面滚动条滚动了多少距离,也就是页面往上卷起来的距离,常取这三个值中的一个,但有时候这三个值在页面滚动的时候还是0,这个时候就要注意看下页面的滚动可能不在body上的,还有可能是在app根节点上
window.pageYOffset|| document.documentElement.scrollTop|| document.body.scrollTop
这个时候对window的监听可能就要移到对根节点app的滚动事件的监听
const appObj: HTMLFormElement | null = document.querySelector('#app');
appObj?.addEventListener('scroll', this.handleScroll);
计算滚动的距离就是根节点app的scrollTop的值,即scrollTop的数值
const appObj: HTMLFormElement | null = document.querySelector('#app');
const scrollTop = appObj?.scrollTop as number;