私はここ数週間 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>
ありがとうございました