document.documentElement.scrollTop || document.body.scrollTop;

在设计页面时可能经常会用到固定层的位置,这就需要获取一些html对象的坐标以更灵活的设置目标层的坐标,这里可能就会用到document.body.scrollTop等属性,但是此属性在xhtml标准网页或者更简单的说是带<!DOCTYPE ..>标签的页面里得到的结果是0,如果不要此标签则一切正常。那么在xhtml页面怎么获得body的坐标呢,当然有办法-使用document.documentElement来取代document.body。

大多数情况下,如果有文档声明,即存在<!DOCTYPE ..>标签,标准浏览器是只认识documentElement.scrollTop的,但是chrome在有文档声明时,也只认识document.body.scrollTop。

由于document.documentElement.scrollTop和document.body.scrollTop在标准模式或者是怪异模式下都只有一个会返回有效的值,所以都加上也不会有问题(看来上面的问题是Chrome可能把文档当作非标准文档来解析了)。

原文地址:https://www.cnblogs.com/alexandra/p/3612237.html