我正在使用这个插件 -在屏幕上 https://github.com/moagrius/isOnScreen检查某个元素在视口上是否可见(检查帖子是否已被查看)。
但是是否可以进行某种回调,以便在相应元素可见时触发回调,而不是使用 setTimeOut 并每次检查每个帖子的可见性?
或者我可以使用任何其他库来执行此操作吗?
我说的是视觉视口。 (不是 CSS 可见性)
这是一个使用 new 返回承诺的脚本IntersectionObserver
用于检查元素在视口中是否实际可见的 API:
function isVisible(domElement) {
return new Promise(resolve => {
const o = new IntersectionObserver(([entry]) => {
resolve(entry.intersectionRatio === 1);
o.disconnect();
});
o.observe(domElement);
});
}
您可以在代码中使用它:
const visible = await isVisible(document.querySelector('#myElement'));
console.log(visible);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)