2016-09-27 8 views
-4

Мой таймер останавливается только тогда, когда clearInterval определяется под функцией setInterval. Любое объяснение будет высоко оценено. СпасибоsetInterval, почему таймер останавливается только тогда, когда функция clearInterval находится выше функции setInterval?

enter image description here

+0

Слишком много кода отсутствует, чтобы ответить на вопрос. –

+0

вы не можете остановить таймер, не запущенный –

+0

_Questions, ищущий помощь для отладки («почему этот код не работает?») Должен включать в себя желаемое поведение, конкретную проблему или ошибку и ** кратчайший код, необходимый для его воспроизведения в вопрос сам **. Вопросы без четкого описания проблемы не полезны другим читателям. См. [Создание минимального, полного и проверяемого примера] (https://stackoverflow.com/help/mcve) ._ – Andreas

ответ

0

setInterval() на самом деле запускает таймер, когда указанный метод/подпрограмма выполняется по истечении заданного интервала истекло.

clearInterval(), с другой стороны, используется для сброса й etimer, начатую предыдущим вызовом setInterval()

Поэтому логично, чтобы сделать вызов clearInterval() после setInterval(). Кроме того, clearInterval() требует в качестве аргумента идентификатора таймера, который должен быть остановлен, который возвращается setInterval(). Таким образом, вы не можете вызывать clearInterval() до setInterval(), поскольку у вас не будет идентификатора таймера, который будет очищен.

 Смежные вопросы

  • Нет связанных вопросов^_^