<script language="JavaScript">
var p
var t
 function rolltb(obj){
 if(obj!=null)t = obj;
 //alert(t.height);
  if (t.height>10){
   p=t.height;
   p-=10;
   t.height=p;
   setTimeout("rolltb()",1000);
   }
 }
</script>
...
<body leftmargin="0" topmargin="0" onLoad="rolltb(tid)">
<div id="ok">
  <table id="tid" width="100%" height="200" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td bgcolor="#CCCCCC">&nbsp;</td>
  </tr>
</table>
</div>
</body>

解决方案 »

  1.   

    请问你rolltb("+t+")是什么意思如果这样语法对的话也是这样'+t+'
      

  2.   

    按照 bencalie 的方法,问题解决了,但是这种递归调用没错呀,怎么会传递不过去呢?解决给分!
      

  3.   

    要不这样吧<script language="JavaScript">
    var p
     function rolltb(t){
     alert(t.height);
      if (t.height>10){
       p=t.height;
       p-=10;
       t.height=p;
       setTimeout("rolltb("+t.id+")",1000); //t.toString得到的是[object],所以改用它的id属性
       }
     }
    </script>
    ...
    <body leftmargin="0" topmargin="0" onLoad="rolltb(tid)">
    <div id="ok">
      <table id="tid" width="100%" height="200" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td bgcolor="#CCCCCC">&nbsp;</td>
      </tr>
    </table>
    </div>
    </body>