@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);
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Вы при каждом клике создаёте новый интервал, теряя ссылку на старый. На десятый клик вы чистите девятый интервал, первые восемь остаются работать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час