gpt4 book ai didi

javascript - Intersection Observer 不与 sibling 一起工作

转载 作者:行者123 更新时间:2023-11-30 09:11:08 26 4
gpt4 key购买 nike

我有一个 flexbox 容器,有 4 个 child ,每个 child 都有 with:50%

我想为每个 child 创建一个 IO(Intersection Observer),但出于某种原因,它只适用于 1º 和 3º 元素......但是如果我为 2º 和 4º 元素创建一个新的 IO,它就可以工作。

我做错了什么?

这是演示:https://codepen.io/sandrina-p/pen/mddzpzW

最佳答案

你的代码是这样的:

const watchContainer = ([entry]) => {
console.log('IO card:', entry.target);
entry.target.style.opacity = entry.isIntersecting ? '1' : '0';
};

它需要是这样的:

const watchContainer = (entries) => {
entries.forEach(entry => {
console.log('IO card:', entry.target);
entry.target.style.opacity = entry.isIntersecting ? '1' : '0';
})
};

按照您的方式,如果多个元素同时触发观察者,它只会在第一个元素上运行该函数。按照我的方式,它会在每个匹配的条目上运行它。

关于javascript - Intersection Observer 不与 sibling 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58856085/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com