当为html文档加上如下头以支持xhtml过渡标准时候,使用document.body.scrollTop值始终为0

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml"  xml:lang ="zh-CN"  lang ="zh-CN" >  
这是document.body.scrollTop始终为0,这时需要用document.documentElement.scrollTop才能获得正确的值
而如果不加xhtml的申明,document.documentElement.scrollTop将为0
下面这个getScrollXY()方法可以包装这个变化
 

< html >
< body >
< div  id ="dd" >   < br  />< br  />< br  />< br  />< br  />< br  />< br  />< br  />< br  />< br  />< br  />
< br  />< br  />< br  />< br  />< br  />< br  />< br  />< br  />< br  />< br  />
</ div >
scrollLeft:
< input  id ="disp1"   />< br  />
scrollTop:
< input  id ="disp2"   />< br />
< button  onclick ="onClick()"   > 获得scrollXY </ button >
< script  type ="text/javascript"   >
function  getScrollXY(){
var  x,y;
if (document.body.scrollTop){
  x
= document.body.scrollLeft;
  y
= document.body.scrollTop;
}
else {
  x
= document.documentElement.scrollLeft;
  y
= document.documentElement.scrollTop;
}
return  {x:x,y:y};


function  onClick(){
document.getElementById(
" disp1 " ).value = getScrollXY().x;
document.getElementById(
" disp2 " ).value = getScrollXY().y;
}
</ script >
</ body >
</ html >  
 
scrollTop