@choco-cookey

Почему не срабатывает clearInterval внутри функции?

При клике на h1 должна срабатывать функция, согласно которой идет подсчет кликов и текст заголовка меняется на цифру клика по счету, при достижении 10 кликов setInterval должен остановиться. Он не срабатывает только внутри этой функции, вне функции работает. Подскажите в чем проблема, пожалуйста.

var clicks = 0;

var timer;

function example(){
timer = setInterval (toRight, 100)
return timer
}

function clickHandler() {
if (clicks<10) {
example()
$("h1").text(clicks);
clicks++;
} else {
$("h1").text("Вы победили");
clearInterval(timer)
}
}

$("h1").click(clickHandler);
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Вы при каждом клике создаёте новый интервал, теряя ссылку на старый. На десятый клик вы чистите девятый интервал, первые восемь остаются работать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы