我已经学习 HTML/CSS/JavaScript 几个星期了,我目前正在练习一个小型项目,该项目包括让人们回答数学问题并验证他们的答案。
我目前的进展可以在http://dany.faceflow.com看到
我知道我可能没有使用最好的策略来开发这个迷你游戏,所以任何建议都会对此有用。但是现在,问题是我正在通过 JS 提示使用变量来获取用户答案,并且我想通过 HTML 表单来完成(不那么烦人)。
在我的源代码中,您可以在函数中看到这一行:
var userInput = prompt(numb1 + symbol + numb2);
然后,仍然在同一个函数中,我有一个 if/else 结构来比较用户的答案和正确的答案。该代码有效,我只是不知道如何使提示基于 HTML。我尝试了一个带有 ID 的 html 表单,并在 JS 中使用 getElementById、document.write 和其他一些东西,但我从来没有让它在这部分工作。
(这里是所有的JS)
var number1 = function() {
var numb1 = Math.floor(Math.random() * 41) + 10;
return numb1;
}
var number2 = function() {
var numb2 = Math.floor(Math.random() * 41) + 10;
return numb2;
}
var userAnswer = function() {
var numb1 = number1();
var numb2 = number2();
var randomSymbol = Math.random();
if (randomSymbol > 0.5) {
var symbol = "+";
} else {
var symbol = "-";
}
// add the math question in the html bubble
document.getElementById('bubble').innerHTML = numb1 + symbol + numb2;
// Prompts the user to give an answer. Change this to HTML.
var userInput = prompt(numb1 + symbol + numb2);
//var userInput = document.getElementById('tw').value;
if (symbol == "+" && userInput == (numb1 + numb2)) {
document.getElementById('feedback').innerHTML = "Congratulations!";
} else if (symbol == "+" && userInput !== (numb1 + numb2)) {
document.getElementById('feedback').innerHTML = "Wrong!";
} else if (symbol == "-" && userInput == (numb1 - numb2)) {
document.getElementById('feedback').innerHTML = "Congratulations!";
} else if (symbol == "-" && userInput !== (numb1 - numb2)) {
document.getElementById('feedback').innerHTML = "Wrong!";
} else {
alert("Something wrong happened. Try again.");
}
return userInput;
}
(HTML)
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="css/stylesheet.css" />
<script src="js/script.js"></script>
<title>Improve Your Math Skills!</title>
</head>
<body>
<center>
<button onclick="userAnswer()">PLAY NOW!</button>
<div id="bubble"></div>
<div id="feedback"></div>
<!-- <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> -->
</center>
</body>
</html>
谢谢