獨立運行,這是我的第一個問題,JS。我有這個函數在setInterval中。所以這個函數重複。的JavaScript - innerHTML的不setInterval的
function chooseAnswer() {
correct.onclick = function() {
if (range == 0) {
score++;
isGameOver = false;
}
else {
isGameOver = true;
}
}
incorrect.onclick = function() {
if (range != 0) {
score++;
isGameOver = false;
}
else {
isGameOver = true;
}
}
// Display score
displayScore.innerHTML = score;
}
除非得分(innerHTML)在觸發onlick後不立即更新,否則一切正常。它等到下一輪時間間隔更新。但是,如果我搬到
displayScore.innerHTML = score;
,並把它之後
score++;
中的任何一種
權的if語句,將比分更新馬上的點擊數被觸發後。爲什麼會發生?不管setInterval是否這個函數都不能獨立工作?也就是說,通過行執行行,所以
displayScore.innerHTML = score;
將更新向右走,就不必等到下一輪。
如何你有()設立的setInterval? – jeff
不清楚爲什麼 - 在您的第一個代碼塊中 - 您認爲displayScore.innerHTML = score;'會在點擊後立即更新'displayScore'。如果發生點擊,則只執行回調中的代碼。 'correct.onclick = function(){....}'不會暫停執行,它會爲該元素設置'onclick'回調。 –
這只是一個簡單的setInterval,window.setInterval(chooseAnswer,5000),這是正確的我上面的chooseAnswer()函數。 –