首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在水平布局中触发动画

问如何在水平布局中触发动画
EN

Stack Overflow用户
提问于 2020-12-31 09:18:37
回答 1查看 113关注 0票数 1

我想要在水平布局中触发CSS动画,仅当动画元素进入视口时。我也希望它们每次进入视口时都被触发,而不是只触发一次。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-31 12:48:58

JavaScript Intersection Observer API可以监视元素在任何滚动方向上的位置,可以在元素进入/离开视口时对它们执行操作,并且可以在每次发生这些事件时重复这些操作。它非常高效并且得到了很好的支持。下面是一个基本的例子:

代码语言:javascript
复制
// Get an array of elements to watch
let elements = document.querySelectorAll('.foo');

// Set an observer to watch their position relative to the viewport boundaries
let observer = new IntersectionObserver(function (entries, self) {
    entries.forEach(entry => {
        // If this item is in the viewport
        if (entry.isIntersecting) {
            // Do some code on that item
            entry.target.classList.toggle('animated');
        }
    });
}, { rootMargin: '0px 0px 0px 0px' });

// Tell each element to be watched
elements.forEach(el => {
    observer.observe(el);
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65515564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档