首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
拉钩
V2EX  ›  问与答

找一个可以监测页面滚动结果的 js 插件,,,???

  •  
  •   s609926202 · 279 天前 · 628 次点击
    这是一个创建于 279 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如页面向上滚动,,向下滚动,,滚动到顶部,滚动到底部,,这样子的监测 js 插件,,求推荐,。

    7 回复  |  直到 2018-03-07 15:13:12 +08:00
        1
    DT27   279 天前
        2
    hanzichi   279 天前
    自己写个呗,就几行代码
        3
    s609926202   279 天前
    @hanzichi
    // 页面滚动监测
    var bodyScrollTop = 0,
    bodyScrollBefore = 0;
    $(window).scroll(function () {
    bodyScrollTop = $(this).scrollTop();

    // 滚动时给 header 加标识
    $('.header').addClass('is-scrolled');

    if (bodyScrollTop >= bodyScrollBefore) { // 向下滚动
    console.log('向下滚动');
    $('.header').removeClass('is-retracted');
    } else { // 向上滚动
    console.log('向上滚动');
    $('.header').addClass('is-retracted');
    }

    setTimeout(function () {
    bodyScrollBefore = bodyScrollTop;
    }, 50);
    });

    这是我写的,,但是不能很好的监测,,总是会有延迟。或者判断不准确。
        4
    hanzichi   279 天前
    @s609926202

    setTimeout(function () {
    bodyScrollBefore = bodyScrollTop;
    }, 50);
    });

    这干嘛。。
        5
    luoway   279 天前
    楼主需要的是解决性能问题了,查下函数节流、去抖
        6
    s609926202   279 天前
    @hanzichi 这个是记录滚动前一时间点距离顶部的距离
        7
    hanzichi   279 天前
    @s609926202 及时记录啊,你这延迟 50ms 记录,当然感觉有延迟了。。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1009 人在线   最高记录 4019   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 23:20 · PVG 07:20 · LAX 15:20 · JFK 18:20
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1