开发者社区> 问答> 正文

jquery 判断滚动方向 向上还是向下

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

展开
收起
杨冬芳 2016-06-16 15:17:10 2428 0
1 条回答
写回答
取消 提交回答
  • IT从业

    原生的并不会很麻烦啊,给一个原生的示例吧(可直接在当前页面控制台中运行查看效果),原理就是判断滚动前后的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);
    }
    
    2019-07-17 19:40:59
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载