【发布时间】:2018-11-22 17:36:34
【问题描述】:
我正在尝试了解 Javascript 的 IntersectionObserver。
在阅读了几篇文章和文档后,我决定自己制作一个 CodePen 来尝试一下:IntersectionObserver CodePen
我想在顶部消息中显示“可见的块”。 CodePen“几乎”有效,但不完全有效。有时它显示正确的块,有时它不显示。
这是我的 JS:
let message = document.querySelector('#block-number');
// INTERSECTION OBSERVER STUFF
const io = new IntersectionObserver(entries => {
if(entries[0].isIntersecting) {
message.innerHTML = entries[0].target.textContent;
}
}, {
threshold: [.25]
});
// ELEMENTS TO OBSERVE
const blk1 = document.querySelector('#block1');
const blk2 = document.querySelector('#block2');
const blk3 = document.querySelector('#block3');
const blk4 = document.querySelector('#block4');
const blk5 = document.querySelector('#block5');
const blk6 = document.querySelector('#block6');
// START OBSERVING ELEMENTS
io.observe(blk1);
io.observe(blk2);
io.observe(blk3);
io.observe(blk4);
io.observe(blk5);
io.observe(blk6);
关于我做错了什么有什么想法吗?
我也尝试过(没有运气):
if(entries[0].intersectionRatio !== 0)
谢谢!
【问题讨论】:
标签: javascript intersection-observer