Vue - 详细介绍wow.js滚动触发动画组件(Vue2 & Vue3)

Vue - 详细介绍wow.js滚动触发动画组件(Vue2 & Vue3)

在日常网页中,我们难免会用到CSS动画来对某些元素进行显示隐藏,在wowjs中可根据浏览器滚动来触发对应的CSS动画,并且可设置多种animate动画类型、动画持续时间和延迟时间,下面我们一起来看下如何使用:

1. 安装

npm install animate.css

#Vue2
npm install wowjs

#Vue3
npm install wow.js

2. 引入并使用

在main.js中:

# 使用animate.css最新的4.x版本
import 'animate.css'

# 使用wowjs自带的animate.css的3.x版本
import 'wowjs/css/libs/animate.css'; # vue2
import 'wow.js/css/libs/animate.css'; # vue3

在需要引用的组件上:

<template>
  <ul>
    <li
      class="wow animate__animated animate__slideInUp"
      data-wow-duration="1s"
      data-wow-delay="2s"
      data-wow-iteration="10"
      data-wow-offset="10"
    ></li>
  </ul>
</template>

# Vue2
<script>
import  WOW  from "wowjs";
export default {
  mounted() {
    var wow = new WOW({
      boxClass: "wow", // 动画元素css类(默认为wow)
      animateClass: "animated", // 动画css类(默认为animated)
      offset: 0, // 触发动画时到元素的距离(默认值为0)
      mobile: true, // 在移动设备上触发动画(默认为true)
      live: true, // 对异步加载的内容进行操作(默认值为true)
      callback: function (box) {
        console.log(box);
        // 每次启动动画时都会触发回调,传入的参数是正在设置动画的DOM节点
      },
      scrollContainer: null, // 可选滚动容器选择器,否则使用window,
      resetAnimation: true, // 结束时重置动画(默认为true)
    });
    wow.init();
  }
};
</script>

# Vue3
<script setup>
import  WOW  from "wow.js";
import { onMounted } from "vue";
onMounted(()=>{
    var wow = new WOW({
      boxClass: "wow", // 动画元素css类(默认为wow)
      animateClass: "animated", // 动画css类(默认为animated)
      offset: 0, // 触发动画时到元素的距离(默认值为0)
      mobile: true, // 在移动设备上触发动画(默认为true)
      live: true, // 对异步加载的内容进行操作(默认值为true)
      callback: function (box) {
        console.log(box);
        // 每次启动动画时都会触发回调,传入的参数是正在设置动画的DOM节点
      },
      scrollContainer: null, // 可选滚动容器选择器,否则使用window,
      resetAnimation: true, // 结束时重置动画(默认为true)
    });
    wow.init();
})
</script>

<style>
li {
  width: 200px;
  height: 200px;
  background: skyblue;
  margin: 20px;
}
</style>

wow.js 的四个属性:

属性描述
data-wow-duration动画持续时间
data-wow-delay动画延迟时间
data-wow-offset元素的位置露出后距离底部多少像素执行
data-wow-iteration动画执行次数,无限次:infinite

3. 注意事项:

对于animate.css的3.x旧版本,引用的class名称不同,且安装wowjs后,使用自带的animate.css,动画则一切正常:

import 'wowjs/css/libs/animate.css'; # vue2
import 'wow.js/css/libs/animate.css'; # vue3

class="wow slideInUp"

在这里插入图片描述

对于安装animate.css的4.x新版本,不使用wowjs自带的animate.css,有可能有Bug,元素提前显示:

import 'animate.css'

class="wow animate__animated animate__slideInUp"

在这里插入图片描述
那么到此就介绍了wowjs滚动触发动画组件的详细内容了,有兴趣的小伙伴们可以去到下面链接中去查看,如果对你项目有带来帮助的话,麻烦点点赞哦~

参考链接:
wow.js:wow.js
wow.js - github:wow.js - github
animate.css:animate.css官网

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`vue-loader.conf.js` 是一个用于配置 Vue 单文件组件加载器(vue-loader)的配置文件。它一般用于 Vue CLI 2.x 中的 webpack 配置。 在 Vue 项目中,`.vue` 文件是一种特殊的文件类型,包含了模板、脚本和样式等组件相关代码。为了能够在 webpack 构建过程中解析和处理这些 `.vue` 文件,我们需要使用 vue-loader。 `vue-loader.conf.js` 文件中的配置项会被用于 vue-loader 的加载过程,以定义如何解析和转换 `.vue` 文件中的各个部分。 下面是一个简单的 `vue-loader.conf.js` 示例: ```javascript // vue-loader.conf.js module.exports = { loaders: { css: 'vue-style-loader!css-loader', scss: 'vue-style-loader!css-loader!sass-loader' // 其他加载器配置... } }; ``` 在上述示例中,我们定义了 `css` 和 `scss` 两个加载器的配置。这些配置会告诉 vue-loader 如何处理 `.vue` 文件中的样式部分。 注意,以上示例中的加载器配置是基于 webpack 1.x 的写法。在 webpack 2.x 或更高版本中,可以使用 `rules` 或 `module.rules` 来定义加载器规则。例如: ```javascript // vue-loader.conf.js module.exports = { rules: [ { test: /\.css$/, use: [ 'vue-style-loader', 'css-loader' ] }, { test: /\.scss$/, use: [ 'vue-style-loader', 'css-loader', 'sass-loader' ] } // 其他加载器规则... ] }; ``` 在上述示例中,我们使用 `rules` 定义了两个加载器规则,分别用于处理 `.css` 和 `.scss` 文件。 `vue-loader.conf.js` 中的配置还可以包括其它一些选项,如预处理器的配置、CSS Modules 的开启等。具体配置项可以参考 vue-loader 的文档。 总之,`vue-loader.conf.js` 是一个用于配置 vue-loader 的文件,用于定义如何解析和处理 Vue 单文件组件中的各个部分。在 Vue CLI 2.x 中,它被用作 webpack 配置文件的一部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值