Я пытаюсь создать правильное / неправильное приложение с помощью javascript. Это мой код таймера:
var timeleft = 3;
var downloadTimer = setInterval(function() {
timeleft--;
document.getElementById("geri_sayim").textContent = timeleft;
if (timeleft <= 0) {
clearInterval(downloadTimer);
alert("time is up");
}
},1000);
У меня есть такие функции:
CreateQuestion();
CheckAnswer();
isConfirm();
Когда я добавляю этот таймер в CreateQuestion(), он работает. Но я хочу остановить этот таймер, когда пользователь нажимает кнопку ответа. По этой причине я добавляю этот код в CheckAnswer().
clearInterval(downloadTimer);
Но когда я это делаю, приложение не работает, как и таймер. В основном я хочу отсчет от 3 для каждого вопроса. В чем моя ошибка?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я решил проблему.
Я редактирую var downloadTimer как downloadTimer
Это решение работает для того, чего вы хотите достичь:
<body onload = "createQuestion();">
<p id = "my-question"></p>
<p id = "time-left">3</p>
<button onclick = "checkAnswer();">Check Answer</button>
var timeleft = 3;
var myTimer;
function createQuestion() {
// You create your question..
document.getElementById("my-question").innerHTML = "Do you know the answer to this question?";
// ..and start the timer..
myTimer = setInterval(function() {
timeleft--;
document.getElementById("time-left").textContent = timeleft;
if (timeleft <= 0) {
clearInterval(myTimer);
alert("Time is up!");
}
},1000);
}
function checkAnswer() {
// Pause the time!
clearInterval(myTimer);
alert("Time paused!");
}
function isConfirm() {
// Whatever other code you wrote for this function
}