@fgehte

Как очистить setTimeout?

Есть 3 слайдера, когда пользователь переключается на 2 слайд, то должен срабатывать setTimeout через 3 сек. С реализацией этой задачи проблем нет, но есть проблема в другом, после того как пользователь переключиться на след. слайд, таймер должен очищаться.
Вот как это условно реализовано
if (slide === 2) {
  setTimeout(() => какая-то логика, 3000)
} else {
  clearTimeout(удалить этот самый timeout)
}

В принципе код рабочий, просто хочеться избавить от ситуации когда, пользователь попадет на 2 слайд, запускается timeout, пользователь сразу перелистывает на любой другой слайд не дожидаясь реализации timeout'а и если быстрее чем пройдут 3 секунды он опять попадает на 2 слайд, то timeout может сработать сразу(а должен через 3сек).
Надеюсь более менее понятно объяснил)
  • Вопрос задан
  • 2369 просмотров
Пригласить эксперта
Ответы на вопрос 2
petermzg
@petermzg
Самый лучший программист
let timerId = setTimeout(...);
clearTimeout(timerId);
Ответ написан
Aetae
@Aetae Куратор тега JavaScript
Тлен
Если это реализовано именно так, то и работать оно должно как вам хочется.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект