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

举报
青年码农 发表于 2022/08/24 22:25:56 2022/08/24
【摘要】 上一篇就简单说了下GSAP2和GSAP3的区别,也简单说了gsap.to()的使用方法,这篇主要说如何创建一个Tween。 1 创建Tween的三个方法 gsap有三个方法可以快速创建一个Tween: gsap.to(targets, vars )从原本属性变化到 vars 中定义的属性gsap.fro...

上一篇就简单说了下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像素,

1247513e77df283b318dfc0bf1dd15e4.gif

2. gsap.from()

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

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

8a5e88ea517b1f5d7899ad4ea09b3ce7.gif

3. gsap.fromto()

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

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

eb12798064471ffdc02c22f71bd475f8.gif

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

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


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

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

781111b82c1f3526fbde278cfdad4e9a.gif


       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();
   
  

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

往期推荐

【GSAP3教程】初次上手GSAP3

WOW.js – 让页面滚动更有趣

微信小程序云开发增加定时任务

文章来源: blog.csdn.net,作者:NMGWAP,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/NMGWAP/article/details/125066450

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。