大家好
请问个问题
这个控制DIV随滚动条上下移动的JS
可是移动到最下面会把body撑大 (无限的往下移动)
请问下怎么解决呀
没有多少分 只能给这么多分
请大家帮下忙
先谢谢了

<script language="JScript">
   <!--   function initAd() {
   document.all.AdLayer001.style.posTop = 200;//设置onLoad事件激发以后,广告层相对于固定后的y方向位置
   document.all.AdLayer001.style.visibility = 'visible'//设置层为可见
   MoveLayer('AdLayer001');//调用函数MoveLayer()
   }
   function MoveLayer(layerName) {
var ff=document.getElementById("dd").offsetWidth;
var dd=document.getElementById("cctv").offsetWidth;
   var x = (dd-ff)/2+ff-85;//浮动广告层固定于浏览器的x方向位置
   var y = document.body.offsetHeight-30;//浮动广告层固定于浏览器的y方向位置
   var diff = (document.body.scrollTop + y - document.all.AdLayer001.style.posTop)*.40;
   var y = document.body.scrollTop + y - diff;
   eval("document.all." + layerName + ".style.posTop = y");
   eval("document.all." + layerName + ".style.posLeft = x");//移动广告层
setTimeout("MoveLayer('AdLayer001');", 20);//设置20毫秒后再调用函数MoveLayer()
}
   //-->
</script><div id=AdLayer001 style='position:absolute; visibility:hidden;z-index:10;'>
<table border="0" align="left" cellpadding="0" cellspacing="0" width="73" height="30"><tr><td id="top"><a href="#"></a></td></tr></table>
</div>

解决方案 »

  1.   

     你需要先获取整个页面的最大高度(包含scroll部分),在移动的时候需要判断,当前鼠标的位置(y)+DIV实际高度是否大于页面的最大高度如果大于则不要移动,如果小于则进行移动
    这个判断需要在移动的时候进行判断  onmousemove
      

  2.   

    var winHeight = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);mouse.y + div.scrollHeight < winHeight   移动divelse 不移动div
      

  3.   

    如果不想把body撑大,你可以把该标签设置成浮动的高度,再加上滚动条就可以了
      

  4.   

    var curLeft = document.getElementById("AdLayer001 ").style.pixelLeft;
    var curTop= document.getElementById("AdLayer001 ").style.pixelTop;
    if (curLeft > doucment.body.scrollLeft ) {
        curLeft  = doucment.body.scrollLeft; 
    } else if (curLeft  < 0) {
       curLeft  = 0;
    }if (curTop > doucment.body.scrollTop ) {
       curTop  = doucment.body.scrollTop ;
    } else if (curTop  < 0) {
       curTop = 0;
    }
    来判断就可以了
      

  5.   

    不好意思
    还是不行
    我这个是一个在右边的一个浮动的DIV
    DIV在右边   窗口底部