Существует ли прослушиватель событий JavaScript, который обнаруживает только когда пользователь прокручивает вверх или только когда пользователь прокручивает вниз? [Дубликат]

0

Я знаю, что.scroll() обнаруживает прокрутку, но что, если я хочу, чтобы что-то произошло, только когда пользователь прокручивается вниз или наоборот?

Теги:
events

1 ответ

0
Лучший ответ

Для этого нет слушателя, но у вас может быть переменная с последней прокруткой позиции и проверка на новую. Так было бы примерно так:

Храните переменную, скажем, last_scroll_position, и когда у вас есть прокрутка, если last_scroll_position - current_position > 0, пользователь прокручивается вверх и вниз, если он меньше 0.

Для дальнейшего использования:

Различать прокрутку вверх/вниз в jquery?

Пример:

<div style='height:10000px;'>

var last_scroll=0;
$(window).scroll(function() {
    var direction='none';
    var current_scroll=$(this).scrollTop();
    if(current_scroll < last_scroll) direction='up';
    else if(current_scroll > last_scroll) direction = 'down';
    last_scroll=current_scroll;
    console.log(direction)
});
  • 0
    Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится.
  • 0
    Спасибо @Howlin за совет, обновленный ответ
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню