Vue前端开发:gsap动画库

gsap它的全称是GreenSock Animation Platform,它是一个功能非常强大的动画平台,它可以对JavaScript操作的所有内容实现动画效果,同时,还解决了不同浏览器中存在的兼容性问题,而且速度和效率都非常快,全球超过1000万过站点都在使用它提供的动画。

在使用gsap 平台提供的动画之前,首先需要在项目文件夹下,通过下列指令来安装gsap 框架,指令如下所示。

npm install gsap

安装成功后,在需要使用该动画效果的组件中导入该库文件,代码如下

import gsap from 'gsap'; 

导入成功后,就可以在组件的模板元素中,使用平台框库中的动画效果了,接下来通过一个示例来演示gsap库中的动画在组件中的使用过程。
实例5-5 应用gsap库中动画

1. 功能描述

在上述示例5-1的基础上,当单击按钮时,通过应用gsap库中的动画的效果,实现元素中的数字以快速蹦跳的动画方式来展示不断增加的新数字。

2. 实现代码

在项目components 文件夹的ch5子文件夹中,添加一个名为“GsapAnimate”的.vue文件,在文件中加入如清单5-5所示代码。

代码清单5-5 GsapAnimate.vue代码

<template>
  <div class="action">
    <div class="act">
      <input type="button" @click="increment()" 
		value="动画数字">
    </div>
    <div class="change">{{ counter.toFixed(0) }}</div>
  </div>
</template>
 
<script>
import gsap from 'gsap'
export default {
  name: "GsapAnimate",
  data() {
    return {
      counter: 0
    };
  },
  methods: {
    increment() {
      gsap.to(this, 
	    { duration: 2, counter: this.counter + 100 }
)
    }
  },
};
</script>
<style>
.action .act {
  margin: 10px 0;
}
.action .change{
  font-size: 30px;
  font-weight: 700;
  font-family:'微软雅黑'
}
</style>

3. 页面效果

保存代码后,页面在Chrome浏览器下执行的页面效果如图5-6所示。
在这里插入图片描述

4. 源码分析

在上述示例的代码中,首先在组件中导入安装成功的gsap动画库,然后在定义一个变量counter,用于保存每增加的数字,并将结果显示在模版元素中,当记录每次数字变化时,默认有小数点,为了显示效果,调用toFixed()方法,参数为0时,除掉小数点后的数字。

最后,当点击按钮时,执行自定义的increment方法,在该方法中,直接调用gsap动画库中的to()方法,该方法的调用格式为:

gsap.to(targets,vars)

上述方法中的参数targets表示需要添加动画的对象,可以是一个Object、Array对象和选择器所获取的元素,本示例中使用的是this,表示Vue实例对象本身。

参数vars是一个配置对象,可以包含想要以动画形式改变的属性名称、延时和动画时长以及动画执行后的回调函数等,本示例中duration属性表示动画时长,变化值的名称是counter,变化时的规则是每单击一次按钮,会在原值的基础上再增加100。gsap框架如果发现变化的是数字时,会自动以动画形式执行数字的递增或递减效果。
在这里插入图片描述

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

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

相关文章

【layui】echart的简单使用

图表类型切换&#xff08;柱形图和折线图相互切换&#xff09; <title>会员数据</title><div class"layui-card layadmin-header"><div class"layui-breadcrumb" lay-filter"breadcrumb"><a lay-href""&g…

[Redis] Redis缓存机制

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

绘制3D图

一个 3D 函数的表面图&#xff0c;其中包含向量场。 Python 代码示例&#xff0c;使用 matplotlib 和 numpy 库来绘制类似的图。 python 复制代码 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D# 生成网格 x np.linspace(-…

【开源免费】基于SpringBoot+Vue.JS课程答疑系统(JAVA毕业设计)

博主说明&#xff1a;本文项目编号 T 070 &#xff0c;文末自助获取源码 \color{red}{T070&#xff0c;文末自助获取源码} T070&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

C#开发流程

注&#xff1a;检查数据库链接 设置搜索 1.新建模块文件夹 对应应用 右键-添加-新建文件夹 2.新建类 在新建模块下右键 新建-类&#xff0c;修改类名称 修改internal为public 新建所需字段&#xff0c;注意类型声明及必填设置 [SugarColumn(IsNullable false)]public strin…

【Transformer】模型输出模块处理

目录 输出处理模块步骤1. 交叉注意力后的输出向量2. 线性变换&#xff08;投影&#xff09;3. Softmax 操作4. 选择最大概率的单词5. 输出词并进入下一轮预测总结&#xff1a; 线性变换详解1. 交叉注意力后的输出向量2. 线性层的参数3. 线性变换的计算4. Softmax 转换为概率示例…

对话流式数据加载

需求&#xff1a;根据接口返回的数据进行类似打字机渲染的效果 使用的fetch 流式处理 fetch(BASE_URL/api/apps/ this.app_Id /chat-messages, {signal: this.controller.signal,method: POST,headers: {Authorization: Bearer localStorage.getItem(token),Content-Type: …

关于git使用的图文教程(包括基本使用,处理冲突问题等等)超详细

目录 用户签名,初始化git git提交流程图 提交到本地库 版本穿梭 分支操作 分支合并冲突 团队协作 github的使用 推送代码 克隆 拉取代码 团队协作冲突 团队协作之分支管理 推送分支到分支&#xff1a; 拉去远程库分支到本地库&#xff1a; 本地删除远程分支&am…

6、If、While、For、Switch

6、If、While、For、Switch 一、If 1、if-else if (boolean) {代码块 } else if (boolean) {代码块 } else if (boolean) {代码块 } else { // 默认情况代码块 }关于IDEA单元测试控制台不能输入数据的问题&#xff1a; https://blog.csdn.net/m0_72900498/article/details/…

【智谱开放平台-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

贪心算法day05(k次取反后最大数组和 田径赛马)

目录 1.k次取反后最大化的数组和 2.按身高排序 3.优势洗牌 1.k次取反后最大化的数组和 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 代码&#xff1a; class Solution {public int largestSumAfterKNegations(int[] nums, int k) {//如…

简简单单的UDP

前言 上一篇了解了TCP的三次握手过程&#xff0c;目的、以及如何保证可靠性、序列号与ACK的作用&#xff0c;最后离开的时候四次挥手的内容&#xff0c;这还只是TCP内容中的冰山一角&#xff0c;是不是觉得TCP这个协议非常复杂&#xff0c;这一篇我们来了解下传输层另外一个协…

安科瑞工业绝缘监测装置:保障煤矿井下6kV供电系统安全运行的关键应用——安科瑞 丁佳雯

在现代煤矿开采中&#xff0c;供电系统的稳定性和安全性是至关重要的。特别是在煤矿井下&#xff0c;由于环境复杂、湿度大、易腐蚀等因素&#xff0c;供电系统面临着严峻的挑战。为了确保供电系统的正常运行和矿工的生命安全&#xff0c;采用先进的绝缘监测装置显得尤为重要。…

OKG Research:用户意图驱动的Web3应用变革

出品&#xff5c; OKG Research 作者&#xff5c;Samuel QIN 当前加密市场的快速演变中&#xff0c;用户增长成为行业可持续发展的基石。目前主流观点在推动行业前进的路上&#xff0c;从单纯的技术探索在向更注重应用价值的方向转变。尽管近年来Web3生态系统发展迅速&#xf…

人工智能:重塑医疗、企业与生活的未来知识管理——以HelpLook为例

一、医疗行业&#xff1a;AI引领的医疗革新 随着人工智能&#xff08;AI&#xff09;技术的持续飞跃&#xff0c;我们正身处一场跨行业的深刻变革之中。在医疗健康的广阔舞台上&#xff0c;人工智能技术正扮演着日益重要的角色。它不仅能够辅助医生进行病例的精准诊断&#xf…

Ubuntu 20.04安装CUDA 11.0、cuDNN 8.0.5

不知道咋弄的ubuntu20.04电脑的cuda驱动丢了&#xff0c;无奈需装PyTorch环境&#xff0c;只有CUDA11.0以上版本才支持Ubuntu20.04&#xff0c;所以安装了CUDA11.0、cuDNN8.0.5 为防止频繁在浏览器检索对应的贴子&#xff0c;今天记录一下。 一. 驱动安装 为防止驱动安装后没…

Vue Element-UI 选择隐藏表格中的局部字段信息

一、功能需求分析 为什么需要这个功能&#xff1f; &#xff08;1&#xff09;简化信息&#xff0c;减少混乱&#xff1a; 就像整理抽屉&#xff0c;只留下常用的东西&#xff0c;这样找起来更快&#xff0c;看起来也更整洁。在表格中&#xff0c;只展示需要的字段&#xff…

STL学习-排序算法

1.sort 使用快速排序,平均性能好O(nlogn),但最差情况可能很差O(n^2)。不稳定。 sort(v.begin(),v.end());//对v容器进行排序,默认升序 sort(v.begin(),v.end(),greater<int>());//降序排序 2.partial_sort 使用堆排序,平均性能和最差都是O(nlogn),但实际情况比sort慢…

WSL 2 中 FastReport 与 FastCube 的设置方法与优化策略

软件开发人员长期以来一直在思考这个问题&#xff1a;“我们如何才能直接在 Windows 中运行 Linux 应用程序&#xff0c;而无需使用单独的虚拟机&#xff1f;” WSL 技术为这个问题提供了一个可能的答案。WSL 的历史始于 2016 年。当时&#xff0c;其实现涉及使用 Windows 内核…

JVM的组成、字节码文件的组成

目录 java虚拟机的组成 字节码文件的组成 基础信息 常量池 字段 方法 属性 字节码相关的常用工具&#xff1a; 总结&#xff1a; 1、如何查看字节码文件&#xff1f; 2、字节码文件的核心组成有哪些&#xff1f; java虚拟机的组成 类加载器 ClassLoader运行时数据区…