setTimeout这句之前插入return b就相当于终止了你的这个函数自然不会报错了。
这样试试吧:
-》先去掉return b
-》将setTimeout("advertising_float('mydiv',b)",100);
-》改为setTimeout("advertising_float('mydiv',Ttop)",100);

解决方案 »

  1.   

    改了一下不知道能否满足搂住的要求:
    <script>
    var b = 0;
    var a = 0;function advertising_float(mdiv,Ttop){
    b = Ttop;
    a = document.body.scrollTop;
    document.all.mydiv.style.posTop=a+b;setTimeout("advertising_float('mydiv',b)",100);
    }
    </script>
      

  2.   

    改了一下不知道能否满足搂住的要求:
    <script>
    var b = 0;
    var a = 0;function advertising_float(mdiv,Ttop){
    b = Ttop;
    a = document.body.scrollTop;
    document.all.mydiv.style.posTop=a+b;setTimeout("advertising_float('mydiv',b)",100);
    }
    </script>
      

  3.   

    把b声明为全局变量<script>
    var b;
    function advertising_float(mdiv,Ttop){
    b=Ttop;
    var a;
    a=document.body.scrollTop;
    document.all.mydiv.style.posTop=a+b;
    return b;
    setTimeout("advertising_float('mydiv',b)",100);
    }
    </script>
      

  4.   

    谢谢以上各位的回复。把变量声明到过程外面就解决了。再次谢谢liu76xt((网事随逢)) 和大家的帮助。