<script type="text/javascript">
var advInitTop=10;
function move()
{
    document.getElementById("Layer1").style.top=advInitTop+document.documentElement.scrollTop+"px";
}    
    window.onscroll=move;
</script>
<div id="Layer1" style="position:absolute;left:20px;top:10px;width:180px;height:250px;z-index:1;"><img src="658228_0904_homepage_tbr2_180x250.jpg" width="180" height="250" /></div>

解决方案 »

  1.   

    为什么document.body.scrollTop的值始终不变,很纳闷?!
      

  2.   

    我直接把代码复制过来,在 IE7 中是能运行的。
    所以我猜想,你是指定了 DOCTYPE 的原因,因为如果指定了 DOCTYPE,那么 document.body.scrollTop 就始终为零,你可以把它改为:document.documentElement.scrollTop
    当然你的代码还要有改的,由于在 Firefox 中不支持 pixelTop,所以你的代码应该改为:
    document.getElementById("Layer").style.top = advInitTop + document.documentElement.scrollTop + "px";
    我确信以上代码是标准的,我没有用过 Google 的 Chrome,我不知道它是否支持 documentElement,若是不支持,你也可以采用兼容的方法:
    document.getElementById("Layer").style.top = advInitTop + (document.documentElement.scrollTop || document.body.scrollTop) + "px";
      

  3.   

    GOOGLE貌似不支持document.documentElement.scrollTop