請原諒非常業餘的代碼,我只是最近纔開始做HTML/JavaScript等的Javascript正確答案計數不工作
我正在這裏空中交通管制一個競猜型應用。他們在文本輸入框中鍵入正確的答案,並且數據塊更改以反映新的高度。當我嘗試它時,它的效果非常好。但是,當我開始嘗試使用計數器來追蹤正確和不正確的響應時,在第一個答案後,計數器將始終首先記錄不正確的響應,然後立即記錄正確的響應。因此,如果他們正確回答了2個問題,退出按鈕將顯示他們有2個問題是正確的,1個問題是錯誤的。
這裏是我的代碼:
<script>
var correctAns = 0;
var incorrectAns = 0;
var newProblem = function() {
var AircraftData = new Aircraft();
$("#altitudeLine").focus();
$("#problem").html(AircraftData.newAlt);
$("#callsign").html(AircraftData.callsign);
$("#altitudeLine").html(AircraftData.initAltitude + "C");
$("#aid").html(AircraftData.aid);
$("#speed").html(AircraftData.speed);
$("#altInput").focus();
$(document).keydown(function(e) {
var correctAnswer = "QQ" + " " + AircraftData.newAlt + " " + AircraftData.aid;
var userAnswer = $("#altInput").val().toUpperCase();
if (e.which == 13) {
if (correctAnswer == userAnswer) {
$("#feedback").html("Correct!");
$("#altitudeLine").html(AircraftData.newAlt + "T" + AircraftData.initAltitude);
correctAns++;
return;
}
else {
$("#feedback").html("Incorrect!");
incorrectAns++;
return;
}
}
});
}
function clearProblem() {
$("#feedback").html("");
$("#altInput").val("");
$("#altInput").focus();
setTimeout(newProblem(), 2000);
}
function results() {
alert("Correct: " + correctAns + " | Incorrect " + incorrectAns);
}
</script>
</head>
// stripped out a lot of code not relevant
<button onClick="newProblem()">Start</button>
<button id="next" onClick="clearProblem()">Next</button>
<span id="problem"></span>
<input type="text" id="altInput">
<span id="feedback"></span>
<br />
<button id="quitButton" onClick="results()">Quit</button>
</div>
嘗試調出代碼中您認爲問題出在的位置,而不是要求完整的審閱。 – 2013-05-06 16:01:40
也許你也可以發佈'newProblem()'的源代碼?可以幫助一個_little_。 – Pietu1998 2013-05-06 16:03:34
可能更適合[codereview.stackexchange.com](http://codereview.stackexchange.com/)... – War10ck 2013-05-06 16:04:14