gsap动画库入门

2024-08-21 22:20
文章标签 入门 动画 gsap

本文主要是介绍gsap动画库入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

一、基本用法

(一) 安装

(二) 语法

(三) 简单动画

二、配置

(一) 动画方法

1. to

2. from

3. fromTo

4. set

(二) 动画目标

(三) 动画属性


前言

官网:https://gsap.com/

中文文档:GSAP 中文教程 中文文档 |官方文档 官方教程翻译 |好奇代码出品

gsap

  • 一个强大的动画库,兼容多个框架,可以帮助网站快速写出优雅美丽的动画效果

一、基本用法

(一) 安装

pnpm install gsap

(二) 语法

效果:class类名为box的元素向x轴平行移动200px

gsap.to(".box", { x: 200 })

从这个图可以看出关键属性有三个

  • method:方法
  • target:目标元素
  • variables:动画配置

(三) 简单动画

结合Vue3实现刚刚的效果,注意需要页面挂载完成才可实现动画,故使用onMounted钩子函数

<script setup lang="ts">
import { gsap } from "gsap";
import { onMounted } from "vue";onMounted(() => {gsap.to(".box", {x: 300, // 横向移动300px});
});
</script><template><div class="box"></div>
</template><style scoped>
.box {width: 100px;height: 100px;background-color: red;
}
</style>

二、配置

(一) 动画方法

语法

作用

gsap.to()

元素从初始状态结束状态

gsap.from()

元素从结束状态开始状态

gsap.fromTo()

自定义元素的开始与结束状态

gsap.set()

直接设置成想要的状态,没有任何过度与动画效果

1. to

gsap.to(".box", {x: 300, // 横向移动300pxduration: 2, // 动画持续时间为2秒ease: "power1.inOut", // 动画缓动函数repeat: -1, // 无限重复yoyo: true, // 动画来回播放
});

2. from

gsap.from(".box", {x: 300, // 横向移动300pxduration: 2, // 动画持续时间为2秒ease: "power1.inOut", // 动画缓动函数repeat: -1, // 无限重复yoyo: true, // 动画来回播放
});

元素一开始的状态是先从结束的横向300px位置返回到原来的位置,然后继续循环该动画

3. fromTo

gsap.fromTo(".box",{x: 0, // 横向移动300pxease: "power1.inOut", // 动画缓动函数duration: 2, // 动画持续时间为2秒backgroundColor: "skyblue",},{x: 300,ease: "power1.inOut", // 动画缓动函数duration: 2, // 动画持续时间为2秒backgroundColor: "red",}
);

4. set

设置这个方法则不会产生动画效果,set作用是将配置对象里的CSS效果添加到目标元素上的

gsap.set(".box", {x: 0, // 横向移动300pxbackgroundColor: "skyblue",
});

(二) 动画目标

在设置目标上,可以有以下几种方式

// 使用类名或者id名,其实css选择器都可以
gsap.to(".box", { x: 200 });// 复杂一些的css选择器
gsap.to("section > .box", { x: 200 });// 一个变量,其实是把获取到的DOM元素直接传进去
let box = document.querySelector(".box");
gsap.to(box, { x: 200 })// 可以把dom元素放到数组里面一起传入
let square = document.querySelector(".square");
let circle = document.querySelector(".circle");gsap.to([square, circle], { x: 200 })// Vue3
const traget = ref()
gasp.to(target.value, {x: 200});

(三) 动画属性

  1. CSS样式

在动画属性中可以写CSS属性,编写元素的CSS元素,比如在上述方法:fromTo的介绍中,就为元素设置了背景颜色。

  1. 动画配置

在配置对象我们还可以根据以下方法来控制动画效果,就跟CSS写效果一样,通过设置这些参数,整除花样动画效果

属性

作用

duration

动画变化时长,默认0.5

delay

动画变化开始前的延迟时长(秒),默认是0.5

repeat

动画的重复次数,-1为无限重复

yoyo

如果设置为ture,那么动画会在执行完之后再反向执行一次,就像悠悠球的效果,默认是false

ease

动画过渡的运动曲线的设置,默认是"power1.out"

这篇关于gsap动画库入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094446

相关文章

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就