关于scrollTop
当html文档头部包含有“文档类型声明”时,需要用document.documentElement.scrollTop
获得正确的值,而document.body.scrollTop
的值为0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script type="text/javascript">
alert("document.documentElement.scrollTop:"+document.documentElement.scrollTop //正确的值
+"document.body.scrollTop:"+document.body.scrollTop //值为0
);
</script>
当html文档头部不包含任何“文档类型声明”时,需要用document.body.scrollTop
获得正确的值,而document.documentElement.scrollTop
的值为0
下面定义的get_scrollTop_of_body()
函数可以处理这种差异,得到body元素的scrollTop值
function get_scrollTop_of_body(){
var scrollTop;
if(typeof window.pageYOffset != 'undefined'){
scrollTop = window.pageYOffset;
}
else
if(typeof document.compatMode != 'undefined' &&
document.compatMode != 'BackCompat'){
scrollTop = document.documentElement.scrollTop;
}
else
if(typeof document.body != 'undefined'){
scrollTop = document.body.scrollTop;
}
return scrollTop;
}
详细请看原文http://blog.csdn.net/gang_gang_gang/article/details/4233044