Stack Overflow на русском Asked by Junior on February 3, 2021
сразу таймер запускается потом если время уходит то он клацает на #next,
если он все делает сам то норма, а если я не дождусь таймера клацну на #next то таймер, что работал будет работать и появится новый т.е (как и должен быть а старый должен же уже не работать, если несколько раз клацну то параллельно будет много работать к примеру на одном осталось 2 сек, на другом 5 сек на последнем 8 сек и т.д.
$(".next").click(function () {
timerSite = function(status) {
if (status) {
const secondsToAnswer = 10; // Количество секунд для ответа
let timeLeft = secondsToAnswer;
const timer = setInterval(function(){
if (timeLeft > 0) { // На последней секунде
$('.timer').text(timeLeft + ' сек');
timeLeft--;
} else {
$('.timer').text('Время вышло');
$('#next').click();
clearInterval(timer);
}
}, 1000);
}else {
clearInterval(timer);
}
}
//пробовал передать false выдает ошибку :
//Uncaught ReferenceError: timer is not defined
timerSite(false);
//тут он запускается
timerSite(true);
});
У вас константа timer
инициализируется внутри условия когда оно истинно, т.е. когда передаёте в функцию true
. Следовательно когда передаёте false
функция пытаемся сбросить несуществующий таймер
Answered by Анатолий Шевелев on February 3, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP