【问题标题】:random numbers between 1 and 50; 50 times1 到 50 之间的随机数; 50次
【发布时间】:2018-07-30 21:40:57
【问题描述】:

我快搞定了,但还是没有达到我想要的效果 它——我得到了 s var a = 生成一个 1 到 50 之间的整数

整数(结果)以文本形式输出 id("tt4")

但我无法完成 50 次,我尝试使用 for 循环 // 但就像我说的,我是 挂在这里……

function add() {
  var a = Math.floor(Math.random() * 50) + 1;
  for (var i = 0; i < 49; i++) {
    document.getElementById("tt4").innerHTML = a + ('\n');
  }
}
<!DOCTYPE html>
<html>

<head>
  <title></title>
  <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>

<body>
  <button onclick="add()">OK</button>
  <br><br>
  <textarea id="tt4" name="t4"></textarea>
</body>

</html>

我知道问题出在 for 循环中,因为循环内的 var i 发生了“什么都没有”,但我无法弄清楚

【问题讨论】:

  • 您忘记与现有 innerHTML连接。
  • 这个问题不值得投反对票,它的格式很好,预期的结果也很清楚,虽然这是一个简单的印刷错误
  • 它已经开始工作了,伙计们,还在等待,15 分钟后接受答案:' D

标签: javascript for-loop random output textarea


【解决方案1】:

您需要连接 innerHTML 属性以更新显示。您还需要将随机数生成移到循环中。这是一个示例:

function add() {
  for (var i = 0; i < 49; i++) {
  	var a = Math.floor(Math.random() * 50) + 1;
    document.getElementById("tt4").innerHTML += a + ('\n');
  }
}
<!DOCTYPE html>
<html>

<head>
  <title></title>
  <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>

<body>
  <button onclick="add()">OK</button>
  <br><br>
  <textarea id="tt4" name="t4"></textarea>
</body>

</html>

【讨论】:

    【解决方案2】:

    在设置textareainnerHTML 时,您需要使用+= 而不是=(这将添加更多HTML,而不是用当前随机数替换HTML)。

    <!DOCTYPE html>
    <html>
    
    <head>
      <title></title>
      <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
    </head>
    
    <body>
      <button onclick="add()">OK</button>
      <br><br>
      <textarea id="tt4" name="t4"></textarea>
      <script>
      function add() {
      for (var i = 0; i < 49; i++) {
      var a = Math.floor(Math.random() * 50) + 1;
        document.getElementById("tt4").innerHTML += a + ('\n');
      }
    }
      </script>
    </body>
    
    </html>

    【讨论】:

      【解决方案3】:

      如果您将random() 放在循环内,则每次迭代都会生成一个新数字,否则您将拥有相同的数字。还 += 添加内容,而不是 =,分配和替换内容。

        for (var i = 0; i < 49; i++) {
        var a = Math.floor(Math.random() * 50) + 1;
          document.getElementById("tt4").innerHTML += a + ('\n');
        }
      &lt;textarea id="tt4" name="t4"&gt;&lt;/textarea&gt;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-01
        • 2018-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多