纯文本无限滚动

时间:2019-04-24 07:10:53

标签: javascript infinite-scroll

我想实现无限滚动功能,但是有些事情很难做到:

  1. 我想要一个或多或少固定的窗口高度。
  2. 因此通常我会比较一个窗口scrollTop与文档高度和窗口高度之间的差异,追加到底部并从顶部移除,然后调整scrollTop。容易。
  3. 但是。我不能追加。在我的body标签中,我混合了HTML和纯文本,或者只有纯文本。
  4. 所以我想我会用这样的东西
    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
    }

它可以工作,但是效果很差。有时滚动位置略有错误。而且,在某些情况下,我最终会导致滚动跳转到顶部并触发滚动底部,反之亦然。

我想知道是否有更好的方法或一些现有的插件可以完成此任务。在进行语言处理时,我真的需要无限滚动,而在文本上还有其他一些繁琐的工作。

1 个答案:

答案 0 :(得分:0)

看看,是否可以使用流行的jQuery插件https://infinite-scroll.com/来实现这一点。