0

我试图制作一个红色条(使用 div 和红色背景颜色创建),其宽度可以从 0 像素扩展到 200 像素。window.alert(x.width)当我在函数中插入 a 时,我的代码可以工作myF(),但是当我不放入时,代码不会给我一个过渡。这只是 的问题setTimeout()吗?

<!DOCTYPE html>
<html>
   <head>
      <script>
         function myF(){
          var x = document.getElementById("bar1").style;
            if(parseInt(x.width)<200){
             x.width = (parseInt(x.width)+1)+"px";
             setTimeout(myF(),1);
            }
         }
      </script>
   </head>
   <body onload="myF()">
      <div id="bar1" style="width:0px; text-align:center; height:10px;background-color:red; font-size:10px; padding:0px; margin:0px;"></div>
   </body>
</html>
4

1 回答 1

3

你应该做 :

setTimeout(myF,1);

代替 :

setTimeout(myF(),1);
于 2012-11-03T19:21:37.513 回答