【GSAP3教程】如何创建一个 Tween

简介: 【GSAP3教程】如何创建一个 Tween

上一篇就简单说了下GSAP2和GSAP3的区别,也简单说了gsap.to()的使用方法,这篇主要说如何创建一个Tween。


1 创建Tween的三个方法

gsap有三个方法可以快速创建一个Tween:

  1. gsap.to(targets, vars ) 从原本属性变化到 vars 中定义的属性
  2. gsap.from(targets, vars ) 从 vars 中定义的属性 变化到 原本属性
  3. gsap.fromTo(targets, fromVars , toVars) 从 fromVars 中定义的属性 变化到 toVars 中定义的属性

参数

targets:这可以是选择器文本,如".class", "#id"等(GSAP内部使用document.querySelectorAll()),或者它可以是对元素的直接引用,通用对象,甚至是对象数组。

vars:一个对象,包含你想要动画的所有属性/值,以及任何特殊属性,如ease, duration, delay,或onComplete。

2 Tween使用方法

我们用gsap的上面三个方法实现一个css平移效果。

1. gsap.to()

gsap.to('#box',{duration:5,x:500})

id为box的元素,从初始位置5秒钟在x轴平移500像素,

image.png

添加描述

2. gsap.from()

gsap.from('#box',{duration:5,x:500})

id为box的元素,从500像素的位置5秒钟平移到初始位置,

image.png

添加描述

3. gsap.fromto()

gsap.fromTo('#box',{x:-100},{duration:5,x:500})

id为box的元素,从x轴-100像素的位置,5秒钟移动到500像素的位置

网络异常,图片无法展示
|

添加描述

注意:这里有个需要注意的地方,就是在 fromTo 方法中, duration 等动画属性,需要放置在 toVars 参数中, 不能放置在 fromVars 中。

vars这个对象里我们还可以使用一些高级用法,想要对动画增加一些事件,那就可以使用onStart、onUpdate、onComplete 等回调方法 。那我们就可以这么使用

gsap.to('#box',{      duration:5,      x:500,    onStart:function(){        // 这里写逻辑    },    onUpdate:function(){        // 这里写逻辑    }})

同时我们可以控制Tween,调用方法时,会返回一个实例,我们就可以通过这个实例来对这个动画进行控制。

image.png

添加描述

var tween =  gsap.to('#box',{duration:5,x:500})document.querySelector("#play").onclick=()=> tween.play();  document.querySelector("#pause").onclick=()=> tween.pause();  document.querySelector("#resume").onclick=()=> tween.resume();  document.querySelector("#restart").onclick=()=> tween.restart();

通过对实例方法的调用,就可以控制动画。这里只是部分方法,具体请看官方文档。下篇文章我们讲解使用时间轴。


相关文章
|
网络协议 数据安全/隐私保护 Windows
当不在公司时,如何在外远程登录公司内网OA系统?
当不在公司时,如何在外远程登录公司内网OA系统?
568 0
|
存储 机器学习/深度学习 分布式计算
HDFS Federation简介
背景 熟悉大数据的人应该都知道,HDFS 是一个分布式文件系统,它是基于谷歌的 GFS 思路实现的开源系统,它的设计目的就是提供一个高度容错性和高吞吐量的海量数据存储解决方案。在经典的 HDFS 架构中有2个 NameNode 和多个 DataNode 的,如下: 从上面可以看出 HDFS 的架构其实大致可以分为两层: Namespace:由目录,文件和数据块组成,支持常见的文件系统操作,例如创建,删除,修改和列出文件和目录。
|
9月前
|
XML 监控 前端开发
Spring Boot中的WebFlux编程模型
Spring WebFlux 是 Spring Framework 5 引入的响应式编程模型,基于 Reactor 框架,支持非阻塞异步编程,适用于高并发和 I/O 密集型应用。本文介绍 WebFlux 的原理、优势及在 Spring Boot 中的应用,包括添加依赖、编写响应式控制器和服务层实现。WebFlux 提供高性能、快速响应和资源节省等优点,适合现代 Web 应用开发。
1062 15
|
人工智能 边缘计算 JSON
E百科 | 第1期 基于MEC的边缘AI服务
阿里云边缘计算团队付哲解读5G下热门场景:边缘AI。作者:阿里云付哲,计算机科学与技术专业博士后,在流量检测、资源调度领域有深入研究,其论文《Astraea: Deploy AI Services at the Edge in Elegant Ways》曾入选2020年IEEE边缘计算国际会议(IEEE International Conference on Edge Computing)。目前在阿里云边缘计算团队从事边缘云资源调度和创新应用方面的研究。
2769 0
E百科 | 第1期 基于MEC的边缘AI服务
|
10月前
【HarmonyOS Next开发】:ListItemGroup使用
通过使用ListItemGroup和AlphabetIndexer两种类型组件,实现带标题分类和右侧导航栏的页面
208 61
【HarmonyOS Next开发】:ListItemGroup使用
|
8月前
|
人工智能 大数据
阿里云云计算ACA、大数据ACA、人工智能ACA三门认证升级调整公告
阿里云云计算ACA、大数据ACA、人工智能ACA三门认证升级调整公告
|
资源调度 前端开发 JavaScript
Python学习二:Python包管理器pip
这篇文章介绍了Python包管理器pip的基本概念、基本操作、如何更改下载源为国内镜像以加速下载,以及如何指定安装包的位置。
488 0
Python学习二:Python包管理器pip
|
JSON 前端开发 JavaScript
Vue微前端新探:iframe优雅升级,扬长避短,重获新生
Vue微前端新探:iframe优雅升级,扬长避短,重获新生
575 0
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别在无人驾驶汽车中的应用
【5月更文挑战第30天】 随着人工智能技术的飞速发展,特别是深度学习在图像处理与识别领域的突破性进展,无人驾驶汽车技术正逐步成为现实。本文旨在探讨基于深度学习的图像识别技术如何为无人驾驶汽车提供核心的“视觉”功能,并分析其在实际应用中面临的挑战及解决方案。通过综合运用卷积神经网络(CNN)、递归神经网络(RNN)等模型,我们构建了一个高效的图像识别系统,该系统能够准确识别道路标志、行人、其他车辆以及多种障碍物,为无人驾驶汽车的安全行驶提供强有力的技术支持。