GSAP动画库的基本使用
GSAP是什么?
GSAP 是一个强大的 JavaScript 工具集,可以将开发人员变成动画超级英雄。构建适用于所有主流浏览器的高性能动画。动画化 CSS、SVG、画布、React、Vue、WebGL、颜色、字符串、运动路径、通用对象……任何 JavaScript 可以触及的东西! GSAP 的 ScrollTrigger 插件可让您使用最少的代码创建令人惊叹的基于滚动的动画。(来自官网)
引入GASP库
1. npm下载
npm install gsap
2. 在文件中引入
import { gsap } from "gsap";
gsap.to()
gsap.to()这个api里面有三个参数可以写,gsap.to("你的目标target", { 你所要做出的动作}, "提前时间或滞后时间")。gsap.to()其实就是将你所要操作的元素到你所指定的位置。
封装一个gsap组件
实现:加载组件的时候让数字从0-1以逐步递增的动画展示
<template>
<div>{{ tweened.number.toFixed(0) }}</div>
</template>
<script setup lang="ts">
import gsap from 'gsap'
import { reactive } from 'vue'
const props = withDefaults(
defineProps<{
from: number
to: number
duration?: number
}>(),
{
from: 0,
to: 0,
duration: 1,
},
)
const tweened = reactive({
number: props.from,
})
gsap.to(tweened, {
duration: props.duration,
ease: 'power1.out',
number: props.to.toFixed(0),
})
</script>
<style scoped></style>
父组件中使用
<GsapNumber
:to="count"
:from="0"
:duration="1"
class="count"
>
</GsapNumber>