给定IntersectionObserver像这样:
const observeVisibility = intersectionMargin => {
const observer = new IntersectionObserver(
nodes => {
if (nodes[0].isIntersecting) {
/* is really in viewport? */
this.observer.disconnect();
}
},
{ rootMargin: intersectionMargin }
);
observer.observe(...);
};
如何检查节点本身实际上是在视口中还是只是导致观察者被调用的intersectionMargin?