我正在尝试做一个猜数字游戏,正确的输出应该逐行显示:尝试 1 你的猜测 xx 太小(大) 尝试2 你的猜测xx太小(大) 尝试2 你的猜测xx太小(大) ...
但我的输出总是在同一行发生变化,如下所示: 尝试3 你的猜测xx太小(大) 不知道问题所在,请帮忙。
<html>
<head> <title> Guessing game </title>
</head>
<body onload="noGen()" >
<script type = "text/javascript">
var theNumber;
function noGen(){
theNumber= Math.floor(Math.random()*999+0) ; //get a random number
}
</script>
<h1> Guessing game </h1>
<p> You have 10 chances! </p>
<p>Hint: the number is between 0 and 999 </p>
<p id="myguess"> </p>
<p>
<input id="tryno" type="text" />
<input type="button" value="GUESS" onclick="attempt()" />
</p>
<script type= "text/javascript">
i=0;
function attempt(){
var guess=document.getElementById('tryno');
var myNumber=guess.value;
i++;
if(i<11)
{
if (myNumber<theNumber){
document.getElementById("myguess").innerHTML="Attempt "+i+" Your guess "+ myNumber+ " is too small";
}
else if (myNumber>theNumber)
{document.getElementById("myguess").innerHTML="Attempt "+i+" Your guess "+ myNumber+ " is too big";
}
else if (myNumber==theNumber){
document.getElementById("myguess").innerHTML="Attempt "+i+" Your guess "+ myNumber+ " is correct";
document.getElementById("info").innerHTML= "You win!";} }
else
{ document.getElementById("info").innerHTML= "You lose!";}
}
</script>
<p id="info"></p>
</body>
</html>
最佳答案
如果您尝试保留以前的结果并继续将其添加到列表中,请尝试以下操作:
if (myNumber<theNumber){
var parSmall = document.createElement("P");
var ansSmall = document.createTextNode("\nAttempt "+i+" Your guess "+ myNumber+ " is too small");
parSmall.appendChild(ansSmall);
document.getElementById("myguess").appendChild(parSmall);
}
else if (myNumber>theNumber) {
var par = document.createElement("P");
var ans = document.createTextNode("\nAttempt "+i+" Your guess "+ myNumber+ " is too big");
par.appendChild(ans);
document.getElementById("myguess").appendChild(par);
编辑:innerHTML 更改 div 的内容,而这会向 div 添加新的
元素和新文本,因此您应该得到:
<p> guess one
<p> guess two
<p> guess three
等等
关于javascript - 我的输出有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32671505/