【发布时间】:2021-09-25 02:05:38
【问题描述】:
我一直在尝试用 Javascript 制作游戏,其中浏览器通过单击按钮生成 2 个随机数和一个操作数,用户必须在输入区域中输入显示计算的答案。如果答案是正确的,浏览器会显示一个提示它是正确的。一切正常,数字和操作数正在显示,用户可以输入他的答案,但我没有从浏览器收到任何警报。
这是 HTML 和 Javascript 代码(我还没有应用任何样式)。
function displayOperation() {
let num1 = Math.floor(Math.random() * 100) + 1;
let num2 = Math.floor(Math.random() * 100) + 1;
let operandArr = ["+", "-", "*"];
let randomOperand = operandArr[Math.floor(Math.random() * operandArr.length)];
document.getElementById("number_one").innerHTML = num1;
document.getElementById("number_two").innerHTML = num2;
document.getElementById("operand_type").innerHTML = randomOperand;
switch (randomOperand) {
case "+":
add();
break;
case "-":
subtract();
break;
case "*":
multiply();
break;
}
function add() {
let res = num1 + num2;
let userAnswer = document.getElementById("text_Area").value;
document.getElementById("calculate").addEventListener("click", function () {
if (userAnswer === res) {
alert("correct!");
window.location.reload();
}
});
}
function subtract() {
let res = num1 - num2;
let userAnswer = document.getElementById("text_Area").value;
document.getElementById("calculate").addEventListener("click", function () {
if (userAnswer === res) {
alert("correct!");
window.location.reload();
}
});
}
function multiply() {
let res = num1 * num2;
let userAnswer = document.getElementById("text_Area").value;
document.getElementById("calculate").addEventListener("click", function () {
if (userAnswer === res) {
alert("correct!");
window.location.reload();
}
});
}
}
document.getElementById("reload").addEventListener("click", function () {
displayOperation();
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Number Game</title>
<link href="main.css" rel="stylesheet">
</head>
<body>
<div id="number_one">
</div>
<div id="operand_type">
</div>
<div id="number_two">
</div>
<div id="text_Area">
<label for="answer">
<input type="number" id="answer">
</label>
</div>
<div class="buttons">
<button type="button" id="calculate">Calculate</button>
<button type="button" id="reload">Load</button>
</div>
<div id="result">
</div>
<script src="index.js" charset="UTF-8"></script>
</body>
</html>
我们将不胜感激。
谢谢!
【问题讨论】:
标签: javascript html css dom event-listener