Как прервать window scroll?

Для прерывания прокрутки окна (window scroll) в JavaScript можно использовать несколько подходов в зависимости от требуемой функциональности.

1. Используя метод preventDefault():

window.addEventListener('scroll', function(event) {
  event.preventDefault();
  // Ваш код для обработки события прокрутки
});

Метод preventDefault() вызывает отмену действия по умолчанию, в данном случае – прокрутки окна. Это позволяет полностью прервать дальнейшую прокрутку.

2. Отключение прокрутки через CSS:

body.lock-scroll {
  overflow: hidden;
}
window.addEventListener('scroll', function() {
  document.body.classList.add('lock-scroll');
  // Ваш код для обработки события прокрутки
  document.body.classList.remove('lock-scroll');
});

В этом случае мы добавляем класс "lock-scroll" к элементу body, что приводит к отключению области прокрутки. Затем мы удаляем этот класс после выполнения необходимых действий.

3. Используя метод scrollTo():

window.addEventListener('scroll', function() {
  window.scrollTo(0, 0);
  // Ваш код для обработки события прокрутки
});

Метод scrollTo() позволяет переместить окно в указанные координаты. В данном случае мы перемещаем окно в начало страницы, тем самым предотвращая дальнейшую прокрутку.

4. Отключение/включение скролла через CSS:

body.disable-scroll {
  overflow: hidden;
}
window.addEventListener('scroll', function() {
  document.body.classList.add('disable-scroll');
  // Ваш код для обработки события прокрутки
  document.body.classList.remove('disable-scroll');
});

Здесь мы добавляем класс "disable-scroll" к элементу body, что приводит к блокировке области прокрутки. Затем мы удаляем этот класс после выполнения необходимых действий, чтобы вернуть возможность прокрутки.

У каждого из этих подходов есть свои особенности, и выбор зависит от требуемого поведения в вашем конкретном случае. Выберите подход, который наиболее соответствует вашим потребностям и характеристикам вашего проекта.