【发布时间】:2019-04-24 07:10:52
【问题描述】:
我想实现无限滚动功能,但有些事情很难做到:
- 我想要一个或多或少固定的窗口高度。
- 所以通常我会将窗口 scrollTop 与文档高度和窗口高度之间的差异进行比较,附加到底部并从顶部移除,调整 scrollTop。简单。
- 但是。我不能追加。在我的
body标记中,我有 HTML 和纯文本的混合,或者只是纯文本。 - 所以我想我会使用这样的东西
l=18000;
//start length
sw=3000;
//scrolling window
j=0;
const html=$("body").html();
if (scrollToBottom) {
$("body").html(html.slice(j,l+sw));
var ph=$("body").height();
var result=html.slice(j+l,sw+l);
$("body").html(result);
var ch=$("body").height();
var st=$(window).scrollTop-ph+ch;
$(window).scrollTop(st);
} else if (scrollToTop) {
//the same
}
它有效,但效果很差。有时滚动位置略有错误。此外,在某些情况下,我最终会滚动跳转到顶部并触发滚动底部,反之亦然。
我想知道是否有更好的方法或一些现有的插件来完成这项任务。我真的需要无限滚动,因为我在做语言处理和其他一些对文本有点重的东西。
【问题讨论】:
标签: javascript infinite-scroll