【发布时间】:2020-04-05 20:50:52
【问题描述】:
我遇到了 Intersection Observer 问题。使用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);
【问题讨论】:
标签: javascript html intersection-observer