Vue+wow.js+animate.css实现动画效果

1.介绍

Wow.js 是一个轻量级的 JavaScript 库,用于在网页滚动时实现动画效果。基于 CSS3 的动画库 Animate.css,并通过触发 CSS 动画类来创建各种引人注目的过渡和动画效果。

使用 Wow.js,可以很容易地为网页中的元素添加动画效果,比如淡入、滑入、缩放等。当用户滚动到指定位置时,Wow.js会自动触发相应的动画效果,为用户提供更加流畅和有趣的浏览体验。

Wow.js 的优点在于简单易用,只需几行代码即可实现各种动画效果,并且支持自定义动画样式和回调函数。这使得 Wow.js 成为开发人员和设计师们在构建交互式网页时的有力工具,为用户提供更加吸引人的视觉效果。

2.wow.js官网地址wow.js

3.效果展示

(觉得官网动画很有意思,搬运过来了哈哈哈)

vue+wowjs+animate动画

4.npm下载资源


npm install wowjs --save-dev
npm install animate.css --save

5.为了方便后期修改动画animate.css代码,可以将node_modules/wowjs/libs/animate.css复制到assets/css/animate.css里面

在这里插入图片描述
在这里插入图片描述

5.mian.js引入

// 引入animate.css
import 'animate.css'
// import animated from 'wowjs/css/libs/animate.css';//不需要后期修改动画可以直接使用该代码
import animated from './assets/css/animate.css';
//这里需要将样式用起来,
Vue.use(animated);

6.实现,元素隐藏2秒后显示且加载动画。使用的swing动画效果需要在0%和20%的时候添加opcity属性,先隐藏再显示
在这里插入图片描述

<template>
 <div
      class="textClass wow swing"
      data-wow-duration="2s"
      data-wow-delay="2s"
      style="visibility: hidden;animation-delay: 2s; animation-name: swing;"
    >
      <img
        class=""
        src="https://wowjs.uk/img/wow-logo.jpg"
        style="width: 86%;"
      />
    </div>
    <template/>
    <script>
import { WOW } from "wowjs";//在需要动画的页面引入
export default {
  name: "wows",
  components: {},
  data() {
    return {};
  },
  onload() {
    console.log(123);
  },
  mounted() {
    let wow = new WOW({
      boxClass: "wow", //需要执行动画的元素的 class
      animateClass: "animated", //animation.css 动画的 class
      offset: 150, //距离可视区域多少开始执行动画
      mobile: true, //是否在移动设备上执行动画
      live: true //异步加载的内容是否有效
    });
    wow.init();
  }
};
</script>
<style scoped>
.span3 {
  flex: 1;
  display: flex;
  justify-content: center;
}

.textClass {
  /* height: 80vw; */
  /* background-color: lightblue; */
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 15vw;
}
</style>

7.完整效果代码

<template>
  <div>
    <div
      class="textClass wow swing"
      data-wow-duration="2s"
      data-wow-delay="2s"
      style="visibility: hidden;animation-delay: 2s; animation-name: swing;"
    >
      <img
        class="againBtnBox_img"
        src="https://wowjs.uk/img/wow-logo.jpg"
        style="width: 86%;"
      />
    </div>
    <div class="container111 circles">
      <div class="row">
        <div
          data-wow-delay="0.5s"
          class="span3 wow rollIn"
          style="visibility: visible; animation-delay: 0.5s; animation-name: rollIn;"
        >
          <p class="circle bg-green">such easy</p>
        </div>
        <div
          data-wow-delay="0.5s"
          class="span3 wow bounceInDown center"
          style="visibility: visible; animation-delay: 0.5s; animation-name: bounceInDown;"
        >
          <img
            src="https://wowjs.uk/img/wow-1.gif"
            height="100"
            class="wow animated"
            style="visibility: visible;height: 25vw;"
          />
        </div>

        <div
          data-wow-delay="0.5s"
          class="span3 wow lightSpeedIn"
          style="visibility: visible; animation-delay: 0.5s; animation-name: lightSpeedIn;"
        >
          <p class="circle bg-green">very ES</p>
        </div>
      </div>
      <div class="row">
        <div
          class="span3 wow rollIn center"
          style="visibility: visible; animation-name: rollIn;"
        >
          <img
            src="https://wowjs.uk/img/wow-3.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
        <div
          data-wow-iteration="5"
          data-wow-duration="0.15s"
          class="span3 wow pulse"
          style="visibility: visible; animation-duration: 0.15s; animation-iteration-count: 5; animation-name: pulse;"
        >
          <p class="circle bg-green">WOW</p>
        </div>
        <div
          class="span3 wow bounceInRight center"
          style="visibility: visible; animation-name: bounceInRight;"
        >
          <img
            src="https://wowjs.uk/img/wow-12.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
      </div>
      <div class="row">
        <div
          class="span3 wow bounceInLeft"
          style="visibility: visible; animation-name: bounceInLeft;"
        >
          <p class="circle bg-green">no jquery</p>
        </div>
        <div
          class="span3 wow flipInX center"
          style="visibility: visible; animation-name: flipInX;"
        >
          <img
            src="https://wowjs.uk/img/wow-2.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
        <div
          class="span3 wow bounceInRight"
          style="visibility: visible; animation-name: bounceInRight;"
        >
          <p class="circle bg-green">many anims</p>
        </div>
      </div>
      <div class="row">
        <div
          class="span3 wow rollIn center"
          style="visibility: hidden; animation-name: none;"
        >
          <img
            src="https://wowjs.uk/img/wow-5.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
        <div
          data-wow-iteration="5"
          data-wow-duration="0.15s"
          class="span3 wow shake"
          style="visibility: hidden; animation-duration: 0.15s; animation-iteration-count: 5; animation-name: none;"
        >
          <p class="circle bg-green">aint GPL</p>
        </div>
        <div
          data-wow-iteration="2"
          class="span3 wow swing center"
          style="visibility: hidden; animation-iteration-count: 2; animation-name: none;"
        >
          <img
            src="https://wowjs.uk/img/wow-6.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
      </div>
      <div class="row">
        <div
          class="span3 wow rollIn"
          style="visibility: hidden; animation-name: none;"
        >
          <p class="circle bg-green">how small</p>
        </div>
        <div
          data-wow-delay="0.5s"
          class="span3 wow bounceInUp center"
          style="visibility: hidden; animation-delay: 0.5s; animation-name: none;"
        >
          <img
            src="https://wowjs.uk/img/wow-10.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
        <div
          data-wow-delay="0.5s"
          data-wow-duration="0.15s"
          class="span3 wow lightSpeedIn"
          style="visibility: hidden; animation-duration: 0.15s; animation-delay: 0.5s; animation-name: none;"
        >
          <p class="circle bg-green">3 KiB only</p>
        </div>
      </div>
      <div class="row">
        <div
          class="span3 wow rollIn center"
          style="visibility: hidden; animation-name: none;"
        >
          <img
            src="https://wowjs.uk/img/wow-7.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
        <div
          data-wow-iteration="5"
          data-wow-duration="0.25s"
          class="span3 wow pulse"
          style="visibility: hidden; animation-duration: 0.25s; animation-iteration-count: 5; animation-name: none;"
        >
          <p class="circle bg-green">just scroll</p>
        </div>
        <div
          class="span3 wow lightSpeedIn center"
          style="visibility: hidden; animation-name: none;"
        >
          <img
            src="https://wowjs.uk/img/wow-9.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
      </div>
      <div class="row">
        <div
          data-wow-iteration="5"
          data-wow-duration="0.15s"
          class="span3 wow bounce"
          style="visibility: hidden; animation-duration: 0.15s; animation-iteration-count: 5; animation-name: none;"
        >
          <p class="circle bg-green">reveal now</p>
        </div>
        <div
          class="span3 wow bounceInUp center"
          style="visibility: hidden; animation-name: none;"
        >
          <img
            src="https://wowjs.uk/img/wow-8.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
        <div
          class="span3 wow bounceInRight"
          style="visibility: hidden; animation-name: none;"
        >
          <p class="circle bg-green">so impress</p>
        </div>
      </div>
      <div class="row">
        <div
          class="span3 wow rollIn center"
          style="visibility: hidden; animation-name: none;"
        >
          <img
            src="https://wowjs.uk/img/wow-4.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
        <div
          data-wow-iteration="5"
          data-wow-duration="0.15s"
          class="span3 wow flip"
          style="visibility: hidden; animation-duration: 0.15s; animation-iteration-count: 5; animation-name: none;"
        >
          <p class="circle bg-green">WOW</p>
        </div>
        <div
          class="span3 wow bounceInRight center"
          style="visibility: hidden; animation-name: none;"
        >
          <img
            src="https://wowjs.uk/img/wow-11.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
      </div>
      <div class="row">
        <div
          data-wow-delay="0.5s"
          class="span3 wow rollIn"
          style="visibility: hidden; animation-delay: 0.5s; animation-name: none;"
        >
          <p class="circle bg-green">no jquery?!</p>
        </div>
        <div
          data-wow-delay="1s"
          class="span3 wow bounceInDown center"
          style="visibility: hidden; animation-delay: 1s; animation-name: none;"
        >
          <img
            src="https://wowjs.uk/img/grumpy.gif"
            height="100"
            style="height: 25vw;"
          />
        </div>
        <div
          data-wow-delay="1.5s"
          class="span3 wow bounceInRight"
          style="visibility: hidden; animation-delay: 1.5s; animation-name: none;"
        >
          <p class="circle bg-green">that sucks!</p>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import { WOW } from "wowjs";
export default {
  name: "wows",
  components: {},
  data() {
    return {};
  },
  onload() {
    console.log(123);
  },
  mounted() {
    let wow = new WOW({
      boxClass: "wow", //需要执行动画的元素的 class
      animateClass: "animated", //animation.css 动画的 class
      offset: 150, //距离可视区域多少开始执行动画
      mobile: true, //是否在移动设备上执行动画
      live: true //异步加载的内容是否有效
    });
    wow.init();
  }
};
</script>
<style scoped>
.span3 {
  flex: 1;
  display: flex;
  justify-content: center;
}
.bg-green {
  background: #5bd5a0;
}
.circle {
  /* margin: 10px 5px; */
  width: 25vw;
  color: #fff;
  font-size: 15px;
  line-height: 25vw;
  text-align: center;
  height: 25vw;
  border-radius: 50%;
}
.row {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20vw 0;
}

.container111 {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
  padding: 48px 0;
  overflow: visible;
}
.textClass {
  /* height: 80vw; */
  /* background-color: lightblue; */
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 15vw;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/456332.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis持久化和集群

redis持久化 RDB方式 Redis Database Backup file (redis数据备份文件), 也被叫做redis数据快照. 简单来说就是把内存中的所有数据记录到磁盘中. 快照文件称为RDB文件, 默认是保存在当前运行目录. [rootcentos-zyw ~]# docker exec -it redis redis-cli 127.0.0.1:6379> sav…

供应IMX290LQR-C芯片现货

长期供应各品牌芯片现货&#xff0c;SONY索尼SONY索尼CMOS/CCD芯片全系列全新现货优势出&#xff1a; IMX225LQR-C IMX415-AAQR-C IMX290LQR-C imx273llr-C IMX397CLN-C IMX637-AAMJ-C IMX647-AAMJ-C IMX991-A***-C IMX991-AABJ-C IMX287LLR-C IMX287LQR-C IMX297L…

Pygame教程06:Event事件的类型+处理方法+监听鼠标事件

------------★Pygame系列教程★------------ Pygame教程01&#xff1a;初识pygame游戏模块 Pygame教程02&#xff1a;图片的加载缩放旋转显示操作 Pygame教程03&#xff1a;文本显示字体加载transform方法 Pygame教程04&#xff1a;draw方法绘制矩形、多边形、圆、椭圆、弧…

「璞华精选」品牌展区成为亮点,引领海外优质生活新潮流!

展会概况 3月07-09日&#xff0c;CCF 2023上海春季百货展在上海新国际博览中心圆满收官。以“聚焦品牌引流行业”为定位目标的CCF上海国际日用百货&#xff08;春季&#xff09;博览会&#xff0c;立足上海&#xff0c;辐射全球商贸&#xff0c;链接行业市场全局&#xff0c;赋…

mysql数据库中查询重复数据和去重数据

文章目录 1.查找重复数据2. 查到重复组的唯一数据3.删除重复数据4.注意重复的内容和删除的记录数是否一致 1.查找重复数据 select gene_entrez_id,count(*) a from diag_gene GROUP BY gene_entrez_id HAVING a > 12. 查到重复组的唯一数据 原理 分组后如果组内多个数据…

地下管网的“守门员”:智能井盖监控器

井盖&#xff0c;作为城市道路上的关键组成部分&#xff0c;其重要性不言而喻。一旦井盖未能得到妥善安装或及时维护&#xff0c;可能会引发一系列安全问题。井盖可能会开盖、松动或移位&#xff0c;这些状况不仅构成了交通隐患&#xff0c;还可能导致地下管网的损坏&#xff0…

SpringBoot(静态资源访问+Rest风格请求)

文章目录 1.静态资源访问1.基本介绍2.快速入门1.新建一个maven项目2.引入依赖 pom.xml3.创建文件目录4.Application.java5.创建四个可以存放静态资源的文件夹6.通过浏览器访问&#xff08;这四个都可以访问&#xff09; 3.注意事项和细节1.关于静态资源的访问管理2.修改静态资源…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的癌症图像检测系统(深度学习模型+UI界面代码+训练数据集)

摘要&#xff1a;本篇博客深入介绍了如何借助深度学习技术开发癌症图像检测系统&#xff0c;以提高医疗诊断的精度和速度。系统基于先进的YOLOv8算法&#xff0c;并对比分析了YOLOv7、YOLOv6、YOLOv5的性能&#xff0c;如mAP和F1 Score。详细解释了YOLOv8的原理&#xff0c;并附…

Restormer: Efficient Transformer for High-Resolution Image Restoration

Abstract 由于卷积神经网络&#xff08;CNN&#xff09;在从大规模数据中学习可概括的图像先验方面表现良好&#xff0c;因此这些模型已广泛应用于图像恢复和相关任务。最近&#xff0c;另一类神经架构 Transformer 在自然语言和高级视觉任务上表现出了显着的性能提升。虽然 T…

纯血鸿蒙来画龙!基于HarmonyOS ArkTS来操作SVG图片

大家好&#xff0c;龙年报喜&#xff0c;大地回春&#xff0c;作为程序员&#xff0c;以代码之名&#xff0c;表达对于龙年的祝福。本节将演示如何在基于HarmonyOS ArkTS的Image组件来实现画一条中国龙&#xff0c;祝大家“码”上“鸿”福到&#xff01; 创建应用 选择空模板…

多线程 - 技术面手撕代码(java)

编写一个程序&#xff0c;开启 3 个线程&#xff0c;这三个线程的 ID 分别为 A、B、C&#xff0c;每个线程将自己的ID 在屏幕上打印10 遍&#xff0c;要求输出的结果必须按顺序显示&#xff0c;如: ABCABCABC… public class Main {private static final Object lock new Obj…

【Python程序开发系列】介绍一款轻量级高自由度web框架-NiceGUI

这是我的第237篇原创文章。 一、引言 NiceGui 是一个轻量级的 Python 前端框架&#xff0c;旨在简化用户界面的创建。它侧重于提供简单、直观的界面&#xff0c;特别适用于小型项目和快速原型设计。 然而&#xff0c;NiceGui 并不是一个专为构建复杂项目而设计的框架。对于大型…

SAP ERP销售应收成本科目确定

一、概述 ERP作为业财一体软件,其中最核心的就是业务与财务模块的自动集成,无需财务进行手工做账,提高工作效率的同时降低人工操作产生的误差。今天浅浅的分享一下SD模块生成会计凭证时,借贷项确定的系统配置。一般项目上借贷项、科目都有FICO提供,但是具体的集成配置是在…

App 测试必备 - 建议所有测试人收藏!

移动端App性能测试需要关注多个方面&#xff0c;包括响应时间、稳定性、内存使用、CPU使用率、网络性能、电池消耗以及设备兼容性等。通过综合考虑这些方面&#xff0c;并在不同条件下进行全面的测试&#xff0c;可以确保应用程序在各种情况下都能够提供优质的用户体验&#xf…

软件测试中的AI-为什么它在软件自动化测试中很重要?

通俗地说&#xff0c;人工智能&#xff08;AI&#xff09;是计算机科学的一个领域&#xff0c;它专注于使机器“智能化”。所谓智能&#xff0c;就是使系统能够像人类一样学习和做出决策。因此&#xff0c;人工智能机器将能够学习如何在特定情况下做出反应&#xff0c;然后根据…

在 Android 上恢复已删除文件的 5 种简单方法

您可能会因为意外删除、未完成的 Android 更新、手机意外关机等原因而丢失 Android 上的重要数据。新技术的发展使许多手机功能或程序能够从内部恢复丢失的数据。 在 Android 上恢复已删除文件的 5 种简单方法 然而恢复成功率的不确定性也成为人们克服数据丢失困境的重要考虑因…

阿里云国际放行DDoS高防回源IP

如果源站服务器上设置了IP白名单访问控制&#xff08;如安全软件、安全组&#xff09;&#xff0c;由于设置了DDoS高防后&#xff0c;回源IP是高防回源IP段&#xff0c;您需要将DDoS高防的回源IP段的地址加入安全软件和安全组的白名单中&#xff0c;避免DDoS高防的回源流量被误…

springboot268码头船只货柜管理系统

码头船只出行和货柜管理系统的设计与实现 摘要 针对于码头船只货柜信息管理方面的不规范&#xff0c;容错率低&#xff0c;管理人员处理数据费工费时&#xff0c;采用新开发的码头船只货柜管理系统可以从根源上规范整个数据处理流程。 码头船只货柜管理系统能够实现货柜管理…

学生时期学习资源同步-1 第一学期结业考试题6

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;引用请注明原作者&#xff0c;严禁复制转载

【深度学习实践】HaGRID,YOLOv5,手势识别项目,目标检测实践项目

文章目录 数据集介绍下载数据集将数据集转换为yolo绘制几张图片看看数据样子思考类别是否转换下载yolov5修改数据集样式以符合yolov5创建 dataset.yaml训练参数开始训练训练分析推理模型转换onnx重训一个yolov5s后记 数据集介绍 https://github.com/hukenovs/hagrid HaGRID&a…