GSAP动画学习

本文详细介绍了如何在项目中通过npm、CDN和yarn安装GSAP库,以及如何在Vue组件中使用GSAP进行元素动画效果的创建,包括过渡组件和自定义动画示例。
摘要由CSDN通过智能技术生成

在这里插入图片描述

GSAP动画学习

一、安装

1. npm安装

npm install gsap

引用:

import { gsap } from "gsap";

2. CDN引用

<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>

引用:

<script>
 // use a script tag or an external JS file
 document.addEventListener("DOMContentLoaded", (event) => {
  // gsap code here!
 });

</script>

3. yarn安装

yarn add gsap

引用:

import { gsap } from "gsap";

二、应用

图例

GSAP动画学习

代码

<template>
	<div class="backGround">
		<div class="container">
			<transition
				@before-enter="beforeEnter"
				@enter="enter"
				@after-enter="afterEnter"
				@enter-cancelled="enterCancelled"
				@before-leave="beforeLeave"
				@leave="leave"
				@after-leave="afterLeave"
				@leave-cancelled="leaveCancelled"
				:css="false"
			>
				<div v-if="show">
					<section class="boxes-container" ref="main">
						<div class="title">
							<div class="box">{{ userName.name }}</div>
							<div>
								<div class="box">您好,欢迎使用XXXX平台</div>
							</div>
						</div>
						<div style="margin-top: 30px" class="button">
							<a-button type="primary" class="buttonStyle" @click="changeRoute">
								查看详情
								<ArrowRightOutlined />
							</a-button>
						</div>
					</section>
				</div>
			</transition>
		</div>
	</div>
</template>

<script setup>
	import tool from '@/utils/tool'
	import router from '@/router'
	import gsap from 'gsap'
	let userName = ref()
	userName.value = tool.data.get('USER_INFO')
	const changeRoute = () => {
		router.push({ path: '/visualization' })
	}
	/**
	 * @name: GSAP盒子动画
	 * @description: 描述信息
	 * @author: Coisini_甜柚か
	 * @date: 2024-03-12 17:30:16
	 */
	const show = ref(true)
	const main = ref()
	onMounted(() => {
		gsap.context((self) => {
			gsap
				.timeline()
				.from('.button', {
					opacity: 0,
					y: -100,
					duration: 1
				})
				.from(
					'.box',
					{
						opacity: 0,
						y: -100,
						duration: 2,
						ease: 'bounce.out',
						delay: -0.5
					},
					'>'
				)
		}, main.value)

		gsap.from('.backGround', {
			xPercent: -50,
			yPercent: -50,
			transformPerspective: 500,
			opacity: 0
		})
	})
	/**
	 * @name: transition组件
	 * @description: 描述信息
	 * @author: Coisini_甜柚か
	 * @date: 2024-03-12 17:37:39
	 */
	const beforeEnter = () => {
		console.log('beforeEnter')
	}
	const enter = (el, done) => {
		console.log('enter')
		done()
	}
	const afterEnter = () => {
		console.log('afterEnter')
	}
	const enterCancelled = () => {
		console.log('enterCancelled')
	}
	const beforeLeave = () => {
		console.log('beforeLeave')
	}
	const leave = (el, done) => {
		console.log('leave')
		done()
	}
	const afterLeave = () => {
		console.log('afterLeave')
	}
	const leaveCancelled = () => {
		console.log('leaveCancelled')
	}
</script>

<style scoped>
	.backGround {
		height: 850px;
		width: 100%;
		background-image: url(@/assets/images/homeLoge.png);
		background-size: 100% 100%;
	}
	.container {
		width: 800px;
		height: 300px;
		position: absolute;
		margin-top: 150px;
		margin-left: 80px;
	}
	.title {
		font-size: 50px;
		color: rgba(0, 0, 0, 0.7);
		letter-spacing: 8px;
		font-weight: 600;
	}
	.buttonStyle {
		font-size: 20px;
		width: 150px;
		height: 50px;
		border-radius: 8px;
	}
	.box {
		display: inline-block;
		margin-bottom: 10px;
	}
</style>

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GSAP(GreenSock Animation Platform)是一个非常强大的JS动画库,可以用于创建各种动画效果。其中,gsap.to可以用来创建进度条动画。 在使用gsap.to创建进度条动画时,我们可以先设置一个初始状态的值,然后通过指定目标值和一定的时间来实现动画效果。具体来说,我们可以使用gsap.to来修改进度条的宽度或者其他属性,从而实现动态变化的效果。 要创建一个进度条动画,首先需要确保你已经引入了GSAP库并熟悉其基本用法。然后,你可以选择一个HTML元素作为进度条的容器,并设置它的初始样式,比如宽度为0。接下来,你可以使用gsap.to来改变进度条的宽度,设置目标值为100%(或者你想要的值),并指定一个适当的持续时间。在动画完成后,进度条就会以一个平滑的动画效果达到目标值。 总结起来,使用GSAP的gsap.to方法可以很方便地创建进度条动画。你可以设置初始状态和目标值,并通过指定持续时间来控制动画的速度。这样,你就可以实现一个漂亮而流畅的进度条动画效果。 需要注意的是,GSAP还有其他的方法和插件可以进一步扩展动画效果,比如TweenLite和CSSPlugin等。TweenLite是GSAP的核心,用于创建基本动画,而CSSPlugin则用于实现DOM元素的动画效果。你可以根据自己的需求选择适合的方法和插件来增强你的进度条动画效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【前端实例代码】使用 HTML&& CSS&&JavaScript实现进度条时间特效动画效果 |前端开发 网页制作 基础入门...](https://blog.csdn.net/qq_22182989/article/details/126356023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coisini_甜柚か

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值