是否存在仅在用户向上滚动时或仅在用户向下滚动时检测到的javascript事件侦听器?

时间:2014-04-27 23:49:01

标签: javascript jquery events

我知道.scroll()会检测滚动,但是如果我希望只有当用户向下滚动时才会发生什么,反之亦然?

1 个答案:

答案 0 :(得分:0)

没有侦听器,但是你可以让一个变量的最后位置滚动并检查新的位置。所以它会是这样的:

保留一个变量,例如last_scroll_position,如果有滚动,如果last_scroll_position - current_position > 0,则用户向上滚动,如果小于0则向下滚动。

供进一步参考:

Differentiate between scroll up/down in 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)
});