无法获取滚动条距离顶部的距离

let scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

这三种方式都无法获取滚动条距离顶部的距离,得到的值都为0;

但是let scrollHeight = document.documentElement.clientHeight || document.body.scrollHeight;

获取滚动条的总高度却没有问题。

let body = document.getElementsByTagName('body')[0];
    body.onscroll = function() {
      let h1 = document.documentElement.scrollTop;
      let h2 = window.pageYOffset;
      console.log(h1, h2);
    }

以上代码是可以的,也就是前两种方式,或许是你没有添加事件,如果不添加事件,浏览器执行代码,刚开始打开页面,scrollTop 值肯定为0

监听元素的滚动事件,实时打印,你滚动页面,再看还是不是0