Это мой первый вопрос 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++;
в любом из, если заявление, счет будет обновляться сразу после того, как onlick срабатывает. Почему это происходит? Не работает ли эта функция независимо от setInterval? То есть, это линия выполняет по линии, так что
displayScore.innerHTML = score;
обновит сразу же, не придется ждать до следующего раунда.
Как у вас установлен setInterval()? – jeff
Непонятно, почему - в вашем первом блоке кода вы думаете, что 'displayScore.innerHTML = score;' будет обновлять 'displayScore' сразу после щелчка. Если происходит щелчок, выполняется только код в обратном вызове. 'correct.onclick = function() {....}', не приостанавливает выполнение, он устанавливает обратный вызов 'onclick' для элемента. –
Это просто простой наборInterval, window.setInterval (selectAnswer, 5000), который находится прямо над моей функцией selectAnswer(). –