实现效果:滚到到指定元素后,该元素才执行对应动画
实现该效果,需要借助两个库:wow.js以及animate.css
并且由于wow 依赖于 animate 动画库,所以
安装 animate.css 以及 wow.js
npm install animate.css --save
npm install wow.js --save
首先写一个简单的页面
提供两个元素,第一个为占据全屏(是为了提供滚动空间)的 div,第二个为模拟需要执行动画的卡片
indexafter
修改第二个元素,填入你想要执行的动画 class,类名可以直接在 animate.css 官网找到
除此之外,还有一个 scroll-item 类,这是为了让 wowjs 获取该 DOM 的标记
注意!这里先不要为元素添加
animate__animated类名,这个在后面留给 wowjs 动态添加!!!
indexafter
初始化 wowjs 代码,由于使用 vue3,对于 DOM 操作必须放在 onmounted 钩子执行
wowjs 的实现原理是:在滚动到指定元素位置时,动态的添加一个 class,使其具有动画切换效果,比如下方我们动态添加了类名 animate__animated ,这就使得 animate.css 得以启动并执行动画