# 1. documentElementbody 的异同点

  1. document代表的是整个文档(对于一个网页来说包括整个网页结构);
  2. document.documentElement是整个文档节点树的根节点,在网页中即html标签;
  3. document.body是整个文档DOM节点树里的body节点,网页中即为body标签元素。

# 1.1. scrollTop

var scroll = document.documentElement.scrollTop || document.body.scrollTop;
// 或者
var scroll = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
  • 在文档使用了DTD时,document.body.scrollTop的值为0
    • 此时需要使用document.documentElement.scrollTop来获取滚动条滚过的长度;
  • 在未使用DTD定义文档时,使用document.body.scrollTop获取值。