关于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;
}

这个我alert(document.documentElement.scrollTop)是有值的,但是后面那个148参数加不上去,后来,我试了一下加一个单位,搞定。

function divScroll() {
     var divQuestion = document.getElementById("divQuestion");
     divQuestion.style.top = document.documentElement.scrollTop + 148+"px";
}

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

你可能感兴趣的:(java)