第一个 document.body.scrollTop 应该是滚动条的顶端到页面顶端的距离。第二个我的也是一直是0

解决方案 »

  1.   

    http://blog.csdn.net/lploveme/article/details/7011174
      

  2.   

    现在问题就是document.documentElement.scrollTop一直为0,那要来有啥用嘛。。
      

  3.   

    html元素應該也算是documentElement
    0也不能說沒用啊,也是客觀現實的反應。
      

  4.   

    这两个方法都是获取滚动条滚动的距离,但是document.body.scrolltop会在web标准中使scrolltop失效,document.documentElement.scrolltop必须存在滚动元素才会改变值不然就是0
      

  5.   

    var advTop;
    var advLeft;
    var advObj;/*广告漂浮代码*/
    function init()
    {
    advObj=document.getElementById("apDiv1");
    if(advObj.currentStyle)//IE
    {
    advTop=parseInt(advObj.currentStyle.top);//currentStyle指定的对象格式和样式
    advLeft=parseInt(advObj.currentStyle.left);

    }
    else//FF
    {
    advTop=parseInt(document.defaultView.getComputedStyle(advObj,null).top);
    advLeft=parseInt(document.defaultView.getComputedStyle(advObj,null).left);
    /*var style = document.defaultView.getComputedStyle(elem1, null);
    // 上面等价于:
    var elem1 = document.getElementById("elemId");
    var style = window.getComputedStyle(elem1, null);*/
    }
    }
    function move()
    {
    //var top = document.documentElement.scrollTop || document.body.scrollTop;
    //var top = document.documentElement.scrollTop ? document.documentElement.scrollTop : 
    if(document.body.scrollTop>document.documentElement.scrollTop){//网页被卷去的高: document.body.scrollTop;
    advObj.style.top=advTop+parseInt(document.body.scrollTop)+"px";
    }
    else{
    advObj.style.top=advTop+parseInt(document.documentElement.scrollTop)+"px";
    }

    }
    window.onload=init;
    window.onscroll=move;
      

  6.   

    一个是ie下有效果 一个是FireFox下有效果
      

  7.   

    不同浏览器值不一样
    chrome   document.body.scrollTop 起作用
    ie,firefox  document.documentElement.scrollTop 起作用
      

  8.   

    应该是你的页面中没有DTD标签导致的,你的这种写法少不了DTD标签。