MaKvc
@MaKvc
Отчаянный веб-разработчик

Как временно заблокировать событие window scroll?

Добрый день! Как во время вызова scrollTo, временно заблокировать cсобытие window scroll, которое было зарегистрировано через addEventListener?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега JavaScript
React, Django, WordPress, SEO, Bots, Adversting
let isScrolling = false;

window.addEventListener('scroll', function(e) {
  if(isScrolling) {
    e.preventDefault();
    return;
  }
  
  // handler
});

function scrollTo() {
  isScrolling = true;

  window.scrollTo({
    top: 100,
    behavior: "smooth"
  });

  setTimeout(() => isScrolling = false, 500);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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