关于document.documentElement.scrollTop和document.body.scrollTop的区别

今天在做项目的时候,因为要用到图片滚动固定的功能,所以用到了document.body.scrollTop方法。我之前也做了一个这样的效果出来,代码如下:
function divScroll() {
var divQuestion = document.getElementById("divQuestion");
divQuestion.style.top = document.body.scrollTop + 148;
}

但是今天,我把代码复制过来,发现没有效果,查了许久,才发现,我以前的代码所属于的页面是HTML4的,而我现在写的页面是HTML5的,所以导致没有效果,后来改了一下代码,发现能取到值了,但是还是没有效果,代码如下:
function divScroll() {
var divQuestion = document.getElementById("divQuestion");
divQuestion.style.top = document.documentElement.scrollTop + 148;
}

【关于document.documentElement.scrollTop和document.body.scrollTop的区别】这个我alert(document.documentElement.scrollTop)是有值的,但是后面那个148参数加不上去,后来,我试了一下加一个单位,搞定。
function divScroll() {
var divQuestion = document.getElementById("divQuestion");
divQuestion.style.top = document.documentElement.scrollTop + 148+"px";
}

至于为什么HTML4相加的时候不需要加单位,HTML5要,我现在也没怎么搞懂,望大家交流交流......

    推荐阅读