如何在setTimout中使用document.write而不清除以前的文本

约翰·D

我想在两个document.writeS之间创建一个延迟我曾经setTimeout这样做,但是一旦执行,它就会覆盖之前的文本。我希望能够显示文本,稍等片刻,在其下方显示其他文本,而不会删除任何先前的文本。此代码将附加到否则为空的HTML文件中。另外,我在使用上还没有成功<br>

var numOfDice = prompt("How many dice?");
var numOfSides = prompt("How many sides on these dice?");

var rollDice = function(numOfDice) {
    var rollResults = []; 

    for (var i = 0; i < numOfDice; i++) {
        rollResults[i] = Math.floor((Math.random() * numOfSides) + 1);
    }

    return rollResults;
}

var printResults = function() {
    var i = 0;
    while (i < rollResults.length - 1) {        
        document.write(rollResults[i] + ", ");
        i++;
    }

    document.write(rollResults[i]);
}

alert("Roll the dice!");


var rollResults = rollDice(numOfDice);

printResults();
setTimeout(function() {document.write("These numbers...")}, 1000);
阿塞拉(Azeirah)

首先,请看一下这个答案,为什么您不应该使用document.write

然后,在了解了为什么使用document.write是不好的做法之后,可以将其替换为element.appendChild

有关该功能的更多信息,请访问Mozilla开发网络

代码示例:

var numOfDice = prompt("How many dice?");
var numOfSides = prompt("How many sides on these dice?");

var rollDice = function(numOfDice) {
  var rollResults = []; 

  for (var i = 0; i < numOfDice; i++) {
    rollResults[i] = Math.floor((Math.random() * numOfSides) + 1);
  }

  return rollResults;
}

var printResults = function() {
  var i = 0;
  while (i < rollResults.length - 1) {
    var node = document.createElement("p");
    node.innerHTML = rollResults[i] + ", ";
    document.querySelector("body").appendChild(node);
    i++;
  }
  var node = document.createElement("p");
  node.innerHTML = rollResults[i];
  document.querySelector("body").appendChild(node);
}

alert("Roll the dice!");

var rollResults = rollDice(numOfDice);

printResults();
setTimeout(function() {
  var node = document.createElement("p");
  node.innerHTML = "These numbers...";
  document.querySelector("body").appendChild(node);
}, 1000);

请注意,此代码将在新行上显示每个掷骰子,因为我为每个掷骰子创建了一个新的p元素。如果希望它们出现在同一行上,请创建一个p元素,然后在while循环中,将rollresult追加到该p元素“ innerHTML”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从paintComponent更新绘图而不清除以前的绘图?

来自分类Dev

如何清除以前绘制的Matplotlib文本框?

来自分类Dev

如何从文本框中清除以前的搜索?

来自分类Dev

如何清除以前的json响应?

来自分类Dev

如何使用C在Linux终端中清除以前的输出?

来自分类Dev

新搜索后如何清除以前的搜索结果?

来自分类Dev

如何清除以前的输出并在php中回显

来自分类Dev

如何防止ifelse语句清除以前的数据?

来自分类Dev

Python3如何在循环,刷新时清除以前的打印?

来自分类Dev

如何清除以前使用u-boot保存的环境变量?

来自分类Dev

通过使用FileAppender,如何清除以前的数据并重新写入数据?

来自分类Dev

在不清除页面的情况下如何在HTML中插入一些文本?

来自分类Dev

如何在静态文本gui matlab中输入新数据而不清除其中的先前数据

来自分类Dev

如何在JavaScript中回显document.write中使用的值?

来自分类Dev

如何从浏览器控制台清除以前的值

来自分类Dev

应用程序中的贝宝付款,如何清除以前的用户贝宝数据?

来自分类Dev

如何清除以前设置的一次性默认值

来自分类Dev

如何清除以前的AJAX响应数据(不是html / form数据)?-Django / AJAX

来自分类Dev

如何从Bootstrap模态对话框的HTML控件中清除以前填写的内容?

来自分类Dev

应用程序中的贝宝付款,如何清除以前的用户贝宝数据?

来自分类Dev

React:当有新的搜索没有结果时如何清除以前的结果

来自分类Dev

如何從方法變量中清除以前存儲的值

来自分类Dev

尝试清除以前使用Javascript创建的图像时遇到麻烦

来自分类Dev

使用UITextView占位符,并且在重新输入时不清除文本

来自分类Dev

其他用户窗体控件被清除后,如何不清除特定的文本框?

来自分类Dev

清除以前的CSS设置

来自分类Dev

如何在write方法中使用for循环?

来自分类Dev

如何在文本中使用while语句

来自分类Dev

如何在 SED 中使用 * 作为文本?

Related 相关文章

  1. 1

    如何从paintComponent更新绘图而不清除以前的绘图?

  2. 2

    如何清除以前绘制的Matplotlib文本框?

  3. 3

    如何从文本框中清除以前的搜索?

  4. 4

    如何清除以前的json响应?

  5. 5

    如何使用C在Linux终端中清除以前的输出?

  6. 6

    新搜索后如何清除以前的搜索结果?

  7. 7

    如何清除以前的输出并在php中回显

  8. 8

    如何防止ifelse语句清除以前的数据?

  9. 9

    Python3如何在循环,刷新时清除以前的打印?

  10. 10

    如何清除以前使用u-boot保存的环境变量?

  11. 11

    通过使用FileAppender,如何清除以前的数据并重新写入数据?

  12. 12

    在不清除页面的情况下如何在HTML中插入一些文本?

  13. 13

    如何在静态文本gui matlab中输入新数据而不清除其中的先前数据

  14. 14

    如何在JavaScript中回显document.write中使用的值?

  15. 15

    如何从浏览器控制台清除以前的值

  16. 16

    应用程序中的贝宝付款,如何清除以前的用户贝宝数据?

  17. 17

    如何清除以前设置的一次性默认值

  18. 18

    如何清除以前的AJAX响应数据(不是html / form数据)?-Django / AJAX

  19. 19

    如何从Bootstrap模态对话框的HTML控件中清除以前填写的内容?

  20. 20

    应用程序中的贝宝付款,如何清除以前的用户贝宝数据?

  21. 21

    React:当有新的搜索没有结果时如何清除以前的结果

  22. 22

    如何從方法變量中清除以前存儲的值

  23. 23

    尝试清除以前使用Javascript创建的图像时遇到麻烦

  24. 24

    使用UITextView占位符,并且在重新输入时不清除文本

  25. 25

    其他用户窗体控件被清除后,如何不清除特定的文本框?

  26. 26

    清除以前的CSS设置

  27. 27

    如何在write方法中使用for循环?

  28. 28

    如何在文本中使用while语句

  29. 29

    如何在 SED 中使用 * 作为文本?

热门标签

归档