JS Library 学习笔记:嘿!有听过 GSAP 吗? (二)

gsap.to()gsap.from()gsap.fromTo()定义了基本动画架构,除此之外,gsap也提供了动画控制的函式,像是开始start()、暂停pause()、倒转播放reverse()、回到开始状态restart(),可以藉此快速建立所需的功能,增加互动性甚至是动态的丰富度。

为了让使用更方便,通常会把动画定义至一个变数中,之後针对这个变数套用这些函式:

let myTween = gsap.fromTo("#my-div", {opacity: 0}, {opacity: 1, duration: 3});
myTween.play();
myTween.pause();

可以把刚刚的play()pause()等函式,指定至对应按钮上,进行相对应的功能控制;指定的方式可以有很多写法,这边搭配上个系列的jQuery使用:

$('#button-play').click(function(){
  myTween.play()
});
$('#button-pause').click(function(){
  myTween.pause()
});

GSAP提供的另一个kill()函式,可以达成进行中的动画暂停,但同时会整个移除动画效果,也就是说,若使用触发了这个函式,是无法与pause()相同使用play()就能让动画继续进行,需要另外安排将动画定义上去才行。

另外,.seek()函式可加入数字参数,指定动画跳至某个时间的状态,若使用.seek(0),就能控制动画直接跳到最初状态,回到0秒的阶段。

//定义动画
let myTween = gsap.fromTo("#my-div", {opacity: 0}, {opacity: 1, duration: 3});
//指定播放按钮
$('#button-play').click(function(){
  myTween.play()
});
//指定暂停按钮
$('#button-pause').click(function(){
  myTween.pause()
});
//让动画暂停并移除动画,无法再利用play()函式继续拨放
$('#button-kill').click(function(){
  myTween.kill()
});
//让动画移至指定时间段,这边定义为0秒状态
$('#button-seek').click(function(){
  myTween.seek(0)
});

<<:  Day_20 : 让 Vite 来开启你的Vue 之 watch & watchEffect

>>:  Day17 - 物理模拟篇 - 弹力、引力与磁力II - 成为Canvas Ninja ~ 理解2D渲染的精髓

Day 19【ERC-721】用兵之道在一个奇字,2999兵分2999路

【前言】 之前在 Day 3 有介绍过 Non-fungible Token(非同质化代币)与相关...

Day 9 [Python ML、特徵工程] 分类工程

import pandas as pd from sklearn.preprocessing imp...

Python Flask 架站笔记 第2天 读取资料 网页框架 与爬虫

第二天的课程对於没有写过网页的我有一点难度,主要是网页的架构不像数据直线的思考,整个架构颇立体的, ...

实施零信任架构以防止横向移动,XACML最不可能进行身份验证

-示例 XACML 实现 XACML 旨在支持授权,而不是身份验证。 XACML 代表“可扩展访问...

硬碟上的资料是否有重量?

我的学生前些日子突然脑洞爆发,问我:“存满资料的硬碟是不是比空硬碟重?资料是否有重量?” 我也查了大...