IntersectionObserver 是一个 JavaScript API,它可以异步观察目标元素与其祖先元素或根元素相交的情况。
IntersectionObserver 可以用于监测元素是否进入视口(viewport)并执行相应的操作。其构造函数接受两个参数:回调函数和配置项。回调函数会在目标元素进入或离开视口时被调用,而配置项可以控制IntersectionObserver的行为,如threshold表示目标元素进入视口的比例。
在回调函数中,我们可以通过entry.isIntersecting属性来判断目标元素是否进入视口。如果进入视口,则调用loadMoreData函数加载更多数据,并通过observer.unobserve(entry.target)停止观察目标元素,避免重复加载数据。
最后,我们通过observer.observe(target)开始观察目标元素。当目标元素进入视口时,就会触发回调函数,从而实现下拉加载的功能。
示例代码:
html<div id="post-list"><div class="post">博文 1</div><div class="post">博文 2</div><div class="post">博文 3</div><div class="post">博文 4</div><div class="post"
