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

2018-03-07 10:47:44 +08:00
 s609926202

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

1254 次点击
所在节点    问与答
7 条回复
DT27
2018-03-07 10:53:18 +08:00
hanzichi
2018-03-07 11:45:29 +08:00
自己写个呗,就几行代码
s609926202
2018-03-07 11:47:32 +08:00
@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);
});

这是我写的,,但是不能很好的监测,,总是会有延迟。或者判断不准确。
hanzichi
2018-03-07 14:17:51 +08:00
@s609926202

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

这干嘛。。
luoway
2018-03-07 14:52:33 +08:00
楼主需要的是解决性能问题了,查下函数节流、去抖
s609926202
2018-03-07 15:04:50 +08:00
@hanzichi 这个是记录滚动前一时间点距离顶部的距离
hanzichi
2018-03-07 15:13:12 +08:00
@s609926202 及时记录啊,你这延迟 50ms 记录,当然感觉有延迟了。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/435656

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX