@reinmaker1990

Как верно остановить таймер у setInterval в данном примере?

ДД, подскажите как остановить вызов setInterval на этом примере
const intervalAnimate = {
  animate(elem) {
    elem.classList.contains("shake-top")
      ? elem.classList.remove("shake-top")
      : elem.classList.add("shake-top");
  },
  start(elem) {
    setInterval(() => {
      this.animate(elem);
    }, 1500);
  },
  stop(fnc) {
    clearInterval(fnc);
  },
};

функция старт работает, стоп нет, как правильно реализоваться, подскажите пож-та,
пробовал отдельной функцией
function stopAnimate(func) {
  clearInterval(func);
}

так же безуспешно
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
Bavashi
@Bavashi
const intervalAnimate = {
  animate(elem) {
    elem.classList.contains("shake-top")
      ? elem.classList.remove("shake-top")
      : elem.classList.add("shake-top");
  },
  start(elem) {
    this.countID = setInterval(() => {
      this.animate(elem);
    }, 1500);
  },
  stop() {
    clearInterval(this.countID);
  },
};
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@galaxy
Кто такой fnc?
clearInterval() передается id таймера, который возвращает setInterval(). Сохраняйте его где-нибудь
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Sportrecs Москва
от 150 000 до 200 000 ₽
01 дек. 2020, в 23:18
80000 руб./за проект
01 дек. 2020, в 22:41
60000 руб./за проект
01 дек. 2020, в 21:24
500 руб./за проект