Отслеживание прокрутки страницы

77
19 апреля 2021, 14:30

Как при прокрутки страницы на 1000px(вверх или вниз), выполнить код:

        $('.wow').removeClass('animated');
        $('.wow').removeAttr('style');
        new WOW({}).init();

Попытка решения(не работает)

    window.addEventListener('scroll', function(e) {
            if( $(window).scrollTop() <= 50 {
                $('.wow').removeClass('animated');
                $('.wow').removeAttr('style');
                new WOW({}).init();
            }
         });
Answer 1

Если главное это расстояние - тогда Вам нужно измерять разницу между двумя точками, точкой начала скролла и конца. Брать число по модулю и суммировать с предыдущим пробегом.

    var distance = 0;
    var prevPos = 0;
    window.addEventListener('scroll', function(e) {
         distance += Math.abs($(window).scrollTop() - prevPos);
         if(distance >= 1000){
            console.log('bingo');
         }
         prevPos = $(window).scrollTop();
    });
Answer 2

Считаем не сколько мы проскроллили, а сравниваем позиции при каждом скроле.

Если разница между изначальной позицией и текущей больше 1000рх, то вызываем метод.

var initPosition = document.documentElement.scrollTop,
    step = 1000;
window.addEventListener('scroll', function(e) {
    if (Math.abs(document.documentElement.scrollTop - initPosition) >= step) {
    handler();
  }
});
function handler() {
    console.log(step, 'пройдено');
}
READ ALSO
Параметры, маршрутизация express

Параметры, маршрутизация express

Задана обработка такого маршрута:

159
Изменение delay слайдера в процессе работы

Изменение delay слайдера в процессе работы

Есть два слайдера на страницеМне нужно сделать, чтобы разница между их переключением была в 5 секунд, поочередно

89
Как получить элементы из JSON Java Script?

Как получить элементы из JSON Java Script?

В Java Script не силёнПытаюсь достать из JSON объекта data элемент

92
Проверить домен на cross-origin policy

Проверить домен на cross-origin policy

Можете читать по выделенному тексту

96