我陷入了交叉路口观察者问题。使用document.querySelectorAll('.entry')会引发 TypeError:“未捕获的 TypeError:无法在 'IntersectionObserver' 上执行 'observe':参数 1 不是 'Element' 类型。”
更改document.querySelectorAll('.entry');为document.querySelector('.entry');解决问题并且有效。
我究竟做错了什么?
基本的 HTML 结构:
<html>
<body>
<div id="content-container">
<div class="content">
<div class="entry">Some content here on each entry</div>
<div class="entry"></div>
<div class="entry"></div>
<div class="entry"></div>
<div class="entry"></div>
<div class="entry"></div>
</div>
</div>
</body
</html>
JavaScript:
const blog = document.querySelectorAll('.entry');
const options = {
root: null,
rootMargin: '0px',
};
const observer = new IntersectionObserver(function(entries, observer) {
entries.forEach((entry) => {
if (!entry.isIntersecting) {
return;
}
else {
console.log(entry);
}
});
}, options);
observer.observe(blog);
翻过高山走不出你
相关分类