document.body.scrollTop这个也总是零。请说明一下,或者怎么修改?

解决方案 »

  1.   

    这个 f() 应该在滚动条滚动的时候被调用才行, 否则这个 Top 初始值为 0
    给一个不同写法的例子:
    <img src="http://expert.csdn.net/images/csdn.gif" border=0 style="position: absolute;
      top:expression(document.body.scrollTop + document.body.clientHeight - this.clientHeight);
      left:expression(document.body.scrollLeft + document.body.clientWidth - this.clientWidth);">
    <div style="width: 2000; height: 2000"></div>
      

  2.   

    少贴了两句
    <body onscroll="f()">
    <script>
    var x,y
    function window.onload(){
        with(document.all.a.style){
             x=left=100;
             y=top=100;
        }
    }
    function f(){
        alert('asdf');
        with(document.all.a.style){
            pixelLeft=x+document.body.scrollLeft;
            pixelTop=y+document.body.scrollTop;
        }
    }
    </script>
    <div id="a" style="position:absolute;background-color:red">fason</div>
    </body>
      

  3.   

    这个 f() 应该在滚动条滚动的时候被调用才行, 否则这个 Top 初始值为 0不太懂啊。在滚动条处于不同位置的时候调用alert(document.body.scrollTop);为什么都是零?
      

  4.   

    我用的myIE,是不是他的事,可是我用ie也是不演阿,同样是6.0
    郁闷阿!!!!!!!
      

  5.   

    这个问题我记得回复过了啊,怎么还有人问,再贴一次好了新建一个JS文件drop.js,代码如下:
      //常数定义 
    self.onError=null;    
    currentX = currentY = 0;    
    whichIt = null;    
    lastScrollX = 0; //最后离左边距离的负值
    lastScrollY =0;  //最后离顶部的高度的负值
      
    //----------------------start fun秒执行一次   
    function heartBeat(id1,id2) {    
    diffY = document.body.scrollTop;
    diffX = document.body.scrollLeft; if(diffY != lastScrollY) {    
    percent = .1 * (diffY - lastScrollY);    
    if(percent > 0) percent = Math.ceil(percent);    
    else percent = Math.floor(percent);    
    id1.style.pixelTop += percent;
    id2.style.pixelTop += percent;   
    lastScrollY = lastScrollY + percent;    
    }    if(diffX != lastScrollX) {    
    percent = .1 * (diffX - lastScrollX);    
    if(percent > 0) percent = Math.ceil(percent);    
    else percent = Math.floor(percent);    
    id1.style.pixelTop += percent;
    id2.style.pixelTop += percent;      
    lastScrollX = lastScrollX + percent;    
    }    
    }    
    //-----------------------end fun
    scr=screen.width
    left_1=(scr>800)?10:145
    right_1=(scr>800)?880:580//左侧图片
    document.write("<DIV id=f1 style='left: "+left_1+"px; top: 215px; POSITION: absolute;'><a href=glxj.html target=_blank><img src=ad/glxj.gif border=0 width=120 height=125></a></div>")//右侧图片
    document.write("<DIV id=f2 style='left: "+right_1+"px; top: 215px; POSITION: absolute;'><a href=http://www.cney.net/art_data.asp?id=78 target=_blank><img src=ad/yydb.gif border=0 width=150 height=47></a></div>")action = window.setInterval("heartBeat(f1,f2)",50);    然后在你想要放的页面上加上这段代码就搞定了
    <script src="drop.js"></script>
      

  6.   

    问题解决了,但是原因不明:
    我用的是jsp。在html里是可以的。
    用dreamveaver自动生成的页面就是不行。