提示💡

  • 预加载数据、实时替换内容

是什么

只渲染可视区域内的内容,非可见区域的那就完全不渲染了,当用户在滚动的时候就实时去替换渲染的内容。

技术方案

IntersectionObserver

var intersectionObserver = new IntersectionObserver(
  function (entries) {
    // 如果不可见,就返回
    if (entries[0].intersectionRatio <= 0) return;
    loadItems(10);
    console.log('Loaded new items');
  }
);
 
// 开始观察
intersectionObserver.observe(
  document.querySelector('.scrollerFooter')
);

window.onscroll

当用户到达视口的末端时,你会加载更多的结果。在普通的JavaScript中,它是这样工作的。

window.onscroll = function(ev) {
    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
        // you're at the bottom of the page, load more content here.
    }
};
 
// from stackoverflow (stackoverflow.com/questions/9439725/javascript-how-to-detect-if-browser-window-is-scrolled-to-bottom)

扩展阅读