javascript数字猜谜游戏中答案的出现与消失

javascript数字猜谜游戏中答案的出现与消失,javascript,Javascript,我有一个代码,检查用户输入的数字是否与随机生成的数字相同,但由于某种原因,我的输出出现了一会儿,然后又消失了。如何使输出不消失? 输出: <p id="guesses"></p> <p id="lastResult"></p> <p id="lowOrHi"></p> 这是我的html: <div class="col-sm-12"> <h1>Guess that number!</h

我有一个代码,检查用户输入的数字是否与随机生成的数字相同,但由于某种原因,我的输出出现了一会儿,然后又消失了。如何使输出不消失? 输出:

<p id="guesses"></p>
<p id="lastResult"></p>
<p id="lowOrHi"></p>
这是我的html:

<div class="col-sm-12">
    <h1>Guess that number!</h1>
    <form>
        <label for="guessField">Guess nr 1-100</label><br>
        <input type="text" id="guessField" class="input">
        <br><br>
        <button id="guessSubmit" onclick="checkGuess();" class="button">Submit</button>
    </form>
    <p id="guesses"></p>
    <p id="lastResult"></p>
    <p id="lowOrHi"></p>
</div>
下面是javascript:

var randomNumber = Math.floor(Math.random() * 100) + 1;
console.log("random number generated");
var guesses = document.getElementById("guesses");
var lastResult = document.getElementById("lastResult");
var lowOrHi = document.getElementById("lowOrHi");

var guessSubmit = document.getElementById("guessSubmit");
var guessField = document.getElementById("guessField");
var guessCount = 1;
console.log("guess 1");

function checkGuess() {
    var userGuess = Number(guessField.value);
    console.log("userGuess");
    guesses.innerHTML += userGuess + " ";

    if(userGuess == randomNumber) {
        lastResult.innerHTML = "Congradz, you won!";
        lowOrHi.innerHTML = "";
        console.log("won");
    } else {
        lastResult.innerHTML = "This is NOT correct!";
        console.log("wrong");
        if(userGuess < randomNumber) {
            lowOrHi.innerHTML = "Your guess is too low!";
            console.log("too low");
        } else if(userGuess > randomNumber) {
            lowOrHi.innerHTML = "Your guess is too high";
            console.log("too high")
        }
    }
    guessCount++;
    guessField.value = "";
}

提交按钮提交。返回false;,或者在checkGuess底部传入eventObject和eventObject.preventDefault。请注意,如果使用Element.addEventListenerfunctioneventObj{eventObj.preventDefault},则后者是唯一可以使用的类型。

这是因为您提交了表单,因此刷新了页面。一种解决方案是将表单标记更改为div标记

var randomNumber=Math.floorMath.random*100+1; console.log生成随机数; var guesses=document.getElementByIdguesses; var lastResult=document.getElementByIdleResult; var lowOrHi=document.getElementByIdlowOrHi; var guessSubmit=document.getElementByIdguessSubmit; var guessField=document.getElementByIdguessField; var猜测计数=1; 控制台1; 函数checkGuess{ var userGuess=NumberguessField.value; console.loguserGuess; guesses.innerHTML+=userGuess+; ifuserGuess==随机数{ lastResult.innerHTML=Congadz,您赢了!; lowOrHi.innerHTML=; console.logwon; }否则{ lastResult.innerHTML=这不正确!; 控制台。错误; ifuserGuess<随机数{ lowOrHi.innerHTML=您的猜测太低了!; console.Log过低; }else ifuserGuess>randomNumber{ lowOrHi.innerHTML=您的猜测太高; 控制台。日志太高 } } 猜数++; guessField.value=; } 猜猜那个数字! 猜测编号1-100 提交


你的表格提交了吗?你看到页面刷新了吗?谢谢。这有帮助。