Element.scrollTop 属性可以获取或设置一个元素的内容垂直滚动的像素数。
一个元素的 scrollTop 值是这个元素的顶部到它的最顶部可见内容(的顶部)的距离的度量。当一个元素的内容没有产生垂直方向的滚动条,那么它的 scrollTop 值为0。获取的是设置有 overflow 属性的这个元素的 scrollTop,而不是它的子元素(虽然是子元素有一部分没有显示)。
获取整个页面的 scrollTop,需要使用 document.documentElement.scrollTop
。
// 获取 body
console.log(document.getElementsByTagName('body')[0]);
console.log(document.body);
// 获取html
console.log(document.getElementsByTagName('html')[0]);
console.log(document.documentElement);
// 获取父元素
console.log(document.body.parentNode);
console.log(document.body.parentElement);
document.getElementsByTagName('body')[0].onclick = function() {
console.log(document.documentElement.scrollTop); // 正常获取
console.log(document.body.scrollTop); // 0
document.body.scrollTop = 40;
document.documentElement.scrollTop = 80;
}