Javascript 在交叉点观察者API中以目标为目标
我仍在努力与Javascript交朋友,我也在与IntersectionObserverAPI交朋友。 我有三个目标元素正在监视它们在设备视口中的可见性:Javascript 在交叉点观察者API中以目标为目标,javascript,intersection-observer,Javascript,Intersection Observer,我仍在努力与Javascript交朋友,我也在与IntersectionObserverAPI交朋友。 我有三个目标元素正在监视它们在设备视口中的可见性: let $target_1 = section1.querySelector('.about-me'); let $target_2 = section1.querySelector('.background'); let $target_3 = section1.getElementsByClassName('con
let $target_1 = section1.querySelector('.about-me');
let $target_2 = section1.querySelector('.background');
let $target_3 = section1.getElementsByClassName('content');
以下是观察员的声明:
let settings = {
root: null,
threshold: 0.15
}
let observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if(entry.intersectionRatio >= 0.15) {
$target_1.classList.add('slide-in');
}
});
}, settings);
然后,为了遵守我的目标:
observer.observe($target_1);
observer.observe($target_2);
observer.observe($target_3);
到目前为止,我相信当我的任何目标在视口中15%(0.15)可见时,将调用回调函数(作为“IntersectionObserver”调用实例中的第一个参数传递)。
我的问题是,每当调用回调函数时,它总是只将“slide-in”类添加到“$target_1”元素。
我想要的是,应该将“滑入”类添加到当前观察到的目标中。差不多
e.currentTarget.classList.add('slide-in')
有没有一种方法可以访问当前观察到的目标元素?实际上非常简单,就像从事件访问目标一样 看看下面的代码,我刚刚将访问元素的方式从$target_1变量更改为从函数参数访问条目
entry.target.classList.add('slide-in')代码>
let observer = new IntersectionObserver( callback, options );
let observer2 = new IntersectionObserver( callback, options );
let observer3 = new IntersectionObserver( callback, options );