Javascript 如何使用document.write-in setTimout而不清除以前的文本
我想在两个Javascript 如何使用document.write-in setTimout而不清除以前的文本,javascript,delay,settimeout,document.write,Javascript,Delay,Settimeout,Document.write,我想在两个文档之间创建延迟。写入s。我使用了setTimeout来执行此操作,但一旦执行,它就会覆盖上一个文本。我想能够显示文本,等待一些延迟,在它下面显示一些其他文本,而不删除任何以前的文本。此代码附加到一个空HTML文件。此外,我还没有成功地使用实现这一点 var numOfDice = prompt("How many dice?"); var numOfSides = prompt("How many sides on these dice?"); var rollDice = fun
文档之间创建延迟。写入s。我使用了setTimeout
来执行此操作,但一旦执行,它就会覆盖上一个文本。我想能够显示文本,等待一些延迟,在它下面显示一些其他文本,而不删除任何以前的文本。此代码附加到一个空HTML文件。此外,我还没有成功地使用
实现这一点
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);
var numodice=prompt(“多少个骰子?”);
var numOfSides=prompt(“这些骰子上有多少面?”);
var rollDice=函数(numodice){
var-rollResults=[];
for(var i=0;i
首先,看看为什么不应该使用文档。编写
然后,在您理解了为什么使用document.write是不好的做法之后,您可以用元素.appendChild
替换它
有关该功能的更多信息,请访问
代码示例:
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);
var numodice=prompt(“多少个骰子?”);
var numOfSides=prompt(“这些骰子上有多少面?”);
var rollDice=函数(numodice){
var-rollResults=[];
for(var i=0;i
请注意,这段代码将在新行上显示每个掷骰子,因为我正在为每个掷骰子创建一个新的p元素。如果希望它们显示在同一行上,请创建一个p元素,然后在while循环中,将rollresult附加到该p元素'innerHTML'上
.不要使用document.write()
。取而代之的是使用DOM。“如何在不清除前一个文本的情况下使用document.write-in-setTimout”简短的回答是:你不能。