为什么 IntersectionObserver 没有应用 类?
Why IntersectionObserver is not applying the classes?
我正在学习有关 IntersectionObserver 的教程,但我似乎无法让它工作...我正在尝试对视口中可见的元素应用动画。我将在此处粘贴 JS 代码,html 和 css 的完整示例在此处:https://codepen.io/cucurutcho/pen/KKWRrov
const images = document.querySelectorAll('.anim');
console.log("I'm working!");
observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
console.log("I'm working 2!");
if(entry.intersectionRatio > 0) {
entry.target.style.animation = `fadeInUp animated animatedFadeInUp`;
}
else {
entry.target.style.animation = 'none';
}
})
})
images.forEach(image => {
console.log("I'm working 3!")
observer.observe(image)
})
非常感谢任何帮助!非常感谢大家
您没有针对 类,您正在覆盖 CSS animation
属性 的文本内容,如 here 所述。
您需要 classList
:
if (entry.intersectionRatio > 0) {
entry.target.classList.add("fadeInUp", "animated", "animatedFadeInUp")
} else {
entry.target.classList.remove("fadeInUp", "animated", "animatedFadeInUp")
}
我正在学习有关 IntersectionObserver 的教程,但我似乎无法让它工作...我正在尝试对视口中可见的元素应用动画。我将在此处粘贴 JS 代码,html 和 css 的完整示例在此处:https://codepen.io/cucurutcho/pen/KKWRrov
const images = document.querySelectorAll('.anim');
console.log("I'm working!");
observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
console.log("I'm working 2!");
if(entry.intersectionRatio > 0) {
entry.target.style.animation = `fadeInUp animated animatedFadeInUp`;
}
else {
entry.target.style.animation = 'none';
}
})
})
images.forEach(image => {
console.log("I'm working 3!")
observer.observe(image)
})
非常感谢任何帮助!非常感谢大家
您没有针对 类,您正在覆盖 CSS animation
属性 的文本内容,如 here 所述。
您需要 classList
:
if (entry.intersectionRatio > 0) {
entry.target.classList.add("fadeInUp", "animated", "animatedFadeInUp")
} else {
entry.target.classList.remove("fadeInUp", "animated", "animatedFadeInUp")
}