javascript - jquery 判断滚动方向 向上还是向下
天蓬老师
天蓬老师 2017-04-10 15:11:16
0
2
391

$(window).on('scroll',function(e){})
如果用jquery判断 滚动 是向上还是向下吗。
看着原生的判断好像有点麻烦。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

reply all(2)
左手右手慢动作

原生的并不会很麻烦啊,给一个原生的示例吧(可直接在当前页面控制台中运行查看效果),原理就是判断滚动前后的scrollTop来判断到底是上滚还是下滚。懂了原理之后不管是原生的还是 jQuery 的就都 OK 了:

scroll(function(direction) { console.log(direction) });    
function scroll( fn ) {
    var beforeScrollTop = document.body.scrollTop,
        fn = fn || function() {};
    window.addEventListener("scroll", function() {
        var afterScrollTop = document.body.scrollTop,
            delta = afterScrollTop - beforeScrollTop;
        if( delta === 0 ) return false;
        fn( delta > 0 ? "down" : "up" );
        beforeScrollTop = afterScrollTop;
    }, false);
}
洪涛

大师,帮忙看看jq版的,我的bescroll 的值,滚动后一直不变,是个什么情况呢?

var bescroll = $(document).scrollTop();
function ss(){
$(window).scroll(function(){
 var afscroll = $(document).scrollTop();
 var res = afscroll - bescroll;
 if(res>0){
alert('xia'+afscroll);
 }else{
alert('shang'+afscroll);
bescroll = afscroll;
 }
});
}
ss();
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template