1

我是 javascript 的新手。我创建了以下代码:

 <script>
  function text(){
  var testone=Math.floor(Math.random()*9);
  document.fgColor="green";
  document.bgColor="black";
  document.write(testone+" "+testone+"<br/>");
   }
  setInterval(text,100);
 </script>

有数字出现在两列中,一列之下。我想让第二列中的数字稍后出现。有什么建议吗?

4

1 回答 1

0

以您编写的方式使用代码是行不通的。

相反,我建议使用 css 样式来完成你想要的。

这是我将如何做(给予或接受)的一般想法。

<script>
 // Code goes here
  var b = document.body;
  function text() {
    var testone=Math.floor(Math.random()*9);
    var d = document.createElement('div');
    d.innerHTML += '<span>' + testone + '</span>&nbsp';
    d.innerHTML += '<span style="display:none">' + testone + '</span>';

    setTimeout(function() {
      var childs = d.children;
      for(i = 0; i < childs.length; ++i) {
        childs[i].style.display = 'inline';        
      }      
    },500);

    b.appendChild(d);
  }

  setInterval(text,100);
</script>

注意要使上述代码正常运行,脚本标签必须在正文标签内执行(否则 document.body 将为空)。

这个 plunkr 显示了正在运行的代码。

http://plnkr.co/edit/JNJpaH2qEDwEl56C9YpU

我也采取了一些自由,例如使用 a<div>而不是<br>,并且我不担心每 1/2 秒重排 dom 的效率。

于 2013-06-02T22:07:44.263 回答