我希望用户猜测那里有多少根手指(Math.random()),但是它无法按我期望的方式工作,而且我也找不到错误。
这全部在<body>
标记中:
<p>How many fingers am I holding?</p>
<input type="number" id="userInput">
<button onclick="check()">Guess</button>
<p id="numberOfTries"></p>
<script>
var fingers = parseInt(Math.random()*6);
var userInput = document.getElementById("userInput").value;
var i = 0;
var num = document.getElementById("numberOfTries");
function check(){
if (userInput == fingers)
{
alert("You got it!");
}
else{
alert("Try again!");
i++;
}
num.innerHTML = "Number of tries: " + i;
}
</script>
所以,我的观察方式是:页面加载时会创建一个随机数(手指),然后我将该数字与输入中的数字进行比较。 为什么不起作用?
答案 0 :(得分:3)
您只有一个小错误。您只检查了一次输入。看到我移到了功能范围,现在可以使用了。
'0'+x
var fingers = parseInt(Math.random() * 6);
console.log(fingers);
var i = 0;
var num = document.getElementById("numberOfTries");
function check() {
// This was in the wrong place. We need to check user input each time.
var userInput = document.getElementById("userInput").value;
if (userInput == fingers) {
alert("You got it!");
} else {
alert("Try again!");
i++;
}
num.innerHTML = "Number of tries: " + i;
}