javascript 如何获得所有的观察元素,因为我们向下滚动使用相交观察者?

oxcyiej7  于 2023-03-11  发布在  Java
关注(0)|答案(1)|浏览(129)

好的,当我加载网页时,我只得到了6个div,当我向下滚动时,其他6个被加载(懒惰加载),但是我的观察者没有捕捉到它,这里有什么问题?
我已经尝试了交叉点观察者和加载他们在年底时,所有的机构是加载。

我使用交集观察器的JS代码:

var targets = [...document.getElementsByName('item-id')];

const options = { };

let clickedId_test;

const observer = new IntersectionObserver(function(entries,
    observer){
        entries.forEach(entry => {
            if (!entry.isIntersecting) {
                return;
            }
            clickedId_test = entry.target
            console.log(clickedId_test)

        });
    }, options);

targets.forEach(like_button => {
    observer.observe(like_button);
})

我的图像

Getting 1st 6 ids
Even after scrolling only get 1st 6 ids

y3bcpkx1

y3bcpkx11#

什么时候在目标元素上附加交集观察器监视器?是在初始加载时调用它,还是在所有div都被延迟加载后调用它?
如果最初调用它,它不工作的原因可能是在初始加载时,target数组中只捕获前6个div,并且您只监视这些初始div。延迟加载的div永远不会被查询,因此它们没有监视器。
如果在加载所有div(包括延迟加载的div)之后调用它,它应该可以工作

相关问题