我在onclick函數中通過if/else語句重複循環時遇到問題。這是一個遊戲,你必須說出一個單詞是否有效,並且你繼續前進,直到你發現一個錯誤。在函數中重複循環if/else語句
儘管如此,代碼會經歷if/else的一個分支,其次數與您所做的問題的次數相同。所以第一個問題一次,第二個問題兩次等等。所以在第五個問題中,你會得到5個警告框,你的分數將會增加5而不是1.
這是相當長的一段代碼,否則它會起作用(我沒有做過喜 - 比分還沒有),否則。我已經把它縮短了一小部分,我認爲這個問題一定是存在的。
完整的東西是http://www.absp.org.uk/test/study3lw.shtml
function quiz(){
...
$('#true').on('click', function(){
...
if (valid === true){ // ie got it right
score++;
alert(score);
...
} else { // got it wrong
...
score = 0;
$('#word').append("*");
alert("Game Over!");
}
});
$('#false').on('click', function(){
...
if (valid === false){ // ie got it right
score++;
alert(score);
...
} else { // got it wrong
score = 0;
alert("Game Over!");
...
}
});
}
$('#start').on('click', function(){ // calls the above for each question
...
quiz();
});
您應該添加的'測驗外的事件監聽器()'因爲你只需要添加它們一次。 – DonovanM
是啊似乎工作,只需要重寫很多它現在封閉等。呃。 – Craig
這可能有助於爲此使用面向對象的編程,但不幸的是,這仍然需要大量的重寫。 :( – DonovanM