Animate.css:滚动时变为可见时触发动画

kadbb459  于 2022-12-20  发布在  其他
关注(0)|答案(3)|浏览(267)

我正在尝试使用animate.css。
我的代码:

<h2 class="lazyload animate__animated animate__rotateInDownLeft" data-link="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css">Lorem ipsum</h2>

请不要害怕animate.css在这里被延迟加载。
我的页面:https://galina.xyz/makiyazh/oshibki-pri-makiyazh
我们感兴趣的是文本为"Lorem ipsum"的最底部的h2。

    • 问题是**

当我用H2重新加载屏幕时,这可以完美地工作。也就是它已经可见的时候。
但我所寻找的是一个动画效果,而滚动。这是H2应该开始移动,只有当它已经滚动到。
有可能吗?

9bfwbjaz

9bfwbjaz1#

@Mohammed动画-使用jQuery的动态解决方案。
这是一个简单的普通JS解决方案,使用Animate.cssWaypoints和几行css:
浏览器:

//https://stackoverflow.com/a/74810616/3929620
//https://stackoverflow.com/a/32677672/3929620
//https://stackoverflow.com/a/69614783/3929620
const animateList = [].slice.call(document.querySelectorAll('.__animate__animated'))
animateList.map(function (animateEl) {
    new Waypoint({
        element: animateEl,
        offset: 'bottom-in-view',
        handler: function(direction) {
            animateEl.classList.replace('__animate__animated', 'animate__animated')
            animateEl.classList.replace('__animate__fadeIn', 'animate__fadeIn')
            this.destroy()
        },
    })
})

CSS:

.__animate__animated.__animate__fadeIn {
    opacity: 0;
}

网页:

<div class="__animate__animated __animate__fadeIn">
    <!-- your code here -->
</div>

任何改进都是受欢迎的!)

jw5wzhpr

jw5wzhpr2#

css似乎没有提供滚动动画功能,这通常需要javascript,所以你最好添加你自己的window.scroll事件,它检查你的h2是否在视口中可见,然后添加animate__rotateInDownLeft类。

7cwmlq89

7cwmlq893#

在animate.css库中没有这样的特性,你需要使用javascript/Jquery做一些调整和技巧,得到你想要的。
我在这样的图书馆工作了几天,并设法以某种方式使一个稳定的图书馆。
访问animate-dynamic.ga
Github animate-dynamic处理器
对于任何疑问,请注解。
对于图书馆的任何困难,请随时创建问题。

相关问题