Как определить направление скролла на странице?

05.04.20

С помощью jQuery это можно сделать так:

let lastScrollTop = 0;

$(window).on('scroll', function(){

    let top = $(this).scrollTop();
    if (lastScrollTop > top) {
        console.log('top');
    } else if (lastScrollTop < top) {
        console.log('down');
    }
    lastScrollTop = top;

});

Или тоже самое можно написать на нативном JavaScript

let lastScrollTop = 0;

window.addEventListener('scroll', function(){

    let top = window.pageYOffset;
    if (lastScrollTop > top) {
        console.log('top');

    } else if (lastScrollTop < top) {
        console.log('down');
    }
    lastScrollTop = top;

});
blog comments powered by Disqus