使用 GreenSock(GSAP)实现 字符串动画

        要使用 GreenSock(GSAP)实现 "JianMa XinXi" 这个字符串的动画,其中两个 'x' 字符自动旋转,'j' 和 'm' 字符上下跳动,并且美化这个字符串使其可以作为 logo 使用,我们可以通过以下步骤来实现:
1. 使用 CSS 给字符串添加美化样式,包括背景色和关键字符的颜色。
2. 使用 GSAP 创建动画效果。
以下是一个完整的示例代码,包括 HTML、CSS 和 JavaScript:
        
 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GSAP Animation Logo Example</title>
<style>body {margin: 0;height: 100vh;display: flex;justify-content: center;align-items: center;background: #f7f7f7;}.logo {font-family: 'Arial', sans-serif;font-size: 48px;font-weight: bold;color: #333;background: #fff;padding: 20px;border-radius: 5px;box-shadow: 0 4px 6px rgba(0,0,0,0.1);display: flex;align-items: center;justify-content: center;text-transform: uppercase;letter-spacing: 2px;}.logo span {display: inline-block;animation: bounce 1s infinite;}.logo .char-j, .logo .char-m {animation: bounce 1s infinite;}.logo .char-x {animation: rotate 2s linear infinite;}@keyframes rotate {0% { transform: rotate(0deg); }100% { transform: rotate(360deg); }}@keyframes bounce {0%, 100% {transform: translateY(0);}50% {transform: translateY(-10px);}}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.7.1/gsap.min.js"></script>
</head>
<body>
<div class="logo"><span class="char-j">J</span><span class="char-i">i</span><span class="char-a">a</span><span class="char-n">n</span><span class="char-m">m</span><span class="char-a">a</span><span class="char-x">x</span><span class="char-i">i</span><span class="char-n">n</span><span class="char-x">x</span><span class="char-i">i</span>
</div>
<script>
// GSAP animation
gsap.registerPlugin(TweenLite, TimelineLite);
const timeline = new TimelineLite();
timeline.set('.char-j', { y: '-=10px' }).set('.char-m', { y: '-=10px' }).to('.char-j', 1, { y: '+=20px', ease: Bounce.easeOut }, 0).to('.char-m', 1, { y: '+=20px', ease: Bounce.easeOut }, '-=1').to('.char-j', 1, { y: '-=20px', ease: Bounce.easeIn }, '+=1').to('.char-m', 1, { y: '-=20px', ease: Bounce.easeIn }, '+=1');
</script>
</body>
</html>

        这段代码是一个HTML页面,使用了GreenSock Animation Platform (GSAP) 来创建动画效果。页面中包含一个类名为"logo"的div元素,该元素包含文本"JianMaXinXi",并通过CSS为其添加了动画效果。
        在CSS部分,`.logo` 类定义了文字的样式,包括字体、大小、颜色、背景、内边距、边框半径和阴影等。`.logo span` 类为每个字符添加了动画效果,使其在1秒内无限次地跳动。`.logo .char-j` 和 `.logo .char-m` 类分别为字符'j'和'm'添加了跳动效果。`.logo .char-x` 类为字符'x'添加了2秒的无限旋转效果。
        在JavaScript部分,首先使用`gsap.registerPlugin(TweenLite, TimelineLite);` 注册了GSAP的两个插件:TweenLite和TimelineLite。然后创建了一个TimelineLite实例,并使用`.set('.char-j', { y: '-=10px' })` 和 `.set('.char-m', { y: '-=10px' })` 方法将字符'j'和'm'向下移动10像素。

        接着使用`.to('.char-j', 1, { y: '+=20px', ease: Bounce.easeOut }, 0)` 和 `.to('.char-m', 1, { y: '+=20px', ease: Bounce.easeOut }, '-=1')` 方法使字符'j'和'm'在1秒内向上跳动20像素,并使用缓动函数Bounce.easeOut来实现弹跳效果。

        最后,使用`.to('.char-j', 1, { y: '-=20px', ease: Bounce.easeIn }, '+=1')` 和 `.to('.char-m', 1, { y: '-=20px', ease: Bounce.easeIn }, '+=1')` 方法使字符'j'和'm'在1秒内向下跳动20像素,并使用缓动函数Bounce.easeIn来实现弹跳效果。
        这段代码通过结合CSS和JavaScript,为"JianMaXinXi"文字中的特定字符添加了旋转和跳动的效果,使页面更具动态感。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/682411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Transformer实战-系列教程19:DETR 源码解读6(Transformer类)

&#x1f6a9;&#x1f6a9;&#x1f6a9;Transformer实战-系列教程总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 点我下载源码 DETR 算法解读 DETR 源码解读1&#xff08;项目配置/CocoDetection类&#xff09; …

PS | 15个快捷键演示

01 前言 工具&#xff1a;Adobe Photoshop 2021 安装&#xff1a;无 网上自查 02 快捷键表 Ctrl T自由变换[减小画笔大小]增加画笔大小Shift [降低画笔硬度Shift ]增加笔刷硬度D默认前景/背景颜色X切换前景/背景颜色Ctrl J通过复制新建图层Ctrl Shift J通过剪切新建图层Esc取…

树莓派4B(Raspberry Pi 4B)使用docker搭建单机版nacos [基于docker-compose]

树莓派4B&#xff08;Raspberry Pi 4B&#xff09;使用docker搭建单机版nacos [基于docker-compose] 镜像仓库提供的基于arm64架构的nacos镜像很少&#xff0c;我选用的是centralx/nacos-server &#xff0c;它是基于nacos 2.0.4开发的。 ⚠️ 本文基于docker-compose记述构建单…

使用 WPF + Chrome 内核实现高稳定性的在线客服系统复合应用程序

对于在线客服与营销系统&#xff0c;客服端指的是后台提供服务的客服或营销人员&#xff0c;他们使用客服程序在后台观察网站的被访情况&#xff0c;开展营销活动或提供客户服务。在本篇文章中&#xff0c;我将详细介绍如何通过 WPF Chrome 内核的方式实现复合客服端应用程序。…

#Z2294. 打印树的直径

Description 给你一棵树&#xff0c;树上有N个点&#xff0c;编号从0到N-1 请找出任意一条树的直径&#xff0c;并输出直径上的点&#xff0c;输出顺序为从直径的某个端点走向另一个端点 Format Input 第一行一个整数 n&#xff1b; 之后 n-1 行每行两个整数 u,v&#xf…

位运算总结(Java)

目录 位运算概述 位运算符 位运算的优先级 位运算常见应用 1. 给定一个数n&#xff0c;判断其二进制表示中的第x位是0还是1 2. 将数n的二进制表示中的第x位修改为1 3. 将数n的二进制表示中的第x位修改为0 4. 位图 例题&#xff1a;判断字符是否唯一 5. 提取数n的二进制…

《区块链公链数据分析简易速速上手小册》第5章:高级数据分析技术(2024 最新版)

文章目录 5.1 跨链交易分析5.1.1 基础知识5.1.2 重点案例&#xff1a;分析以太坊到 BSC 的跨链交易理论步骤和工具准备Python 代码示例构思步骤1: 设置环境和获取合约信息步骤2: 分析以太坊上的锁定交易步骤3: 跟踪BSC上的铸币交易 结论 5.1.3 拓展案例 1&#xff1a;使用 Pyth…

OCP的operator——(2)OLM

文章目录 了解OperatorOperator Lifecycle Manager&#xff08;OLM&#xff09;OLM概念和资源OLM是什么OLM资源Cluster service version&#xff08;CSV&#xff09;Catalog source定制catalog source的image模板目录健康需求 SubscriptionInstall planOperator groupOperator …

SQL世界之命令语句Ⅴ

目录 一、SQL CREATE INDEX 语句 1.SQL CREATE INDEX 语句 2.SQL CREATE INDEX 语法 3.SQL CREATE UNIQUE INDEX 语法 4.SQL CREATE INDEX 实例 二、SQL 撤销索引、表以及数据库 1.SQL DROP INDEX 语句 2.SQL DROP TABLE 语句 3.SQL DROP DATABASE 语句 4.SQL TRUNCA…

文件压缩炸弹,想到有点后怕

今天了解到一个概念&#xff0c;压缩炸弹。 参考&#xff1a; https://juejin.cn/post/7289667869557178404 https://www.zhihu.com/zvideo/1329374649210302464 什么是压缩炸弹 压缩炸弹&#xff08;也称为压缩文件炸弹、炸弹文件&#xff09;是一种特殊的文件&#xff0c;它…

ACTable开源框架的使用及异常

介绍 ACTable是对Mybatis做的增强功能&#xff0c;支持SpringBoot以及传统的SpringMvc架构&#xff0c;配置简单&#xff0c;使用方便。主要是自动生成数据库表&#xff0c;直接修改java代码&#xff0c;数据库就会对应的变化&#xff0c;省去在调整数据库表的问题&#xff0c…

笔试刷题(持续更新)| Leetcode 45,1190

45. 跳跃游戏 题目链接&#xff1a; 45. 跳跃游戏 II - 力扣&#xff08;LeetCode&#xff09; 这道题思路不难记&#xff0c;遍历数组每个位置&#xff0c;更新下一次的范围&#xff0c;当当前位置已经在当前范围之外时&#xff0c;步数一定得加一&#xff0c;当前范围更新成…

蓝桥杯官网填空题(质数拆分)

问题描述 将 2022 拆分成不同的质数的和&#xff0c;请问最多拆分成几个&#xff1f; 答案提交 本题为一道结果填空的题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将结果输出即可。 运行限制 import java.util.Scanner;public class Main {static int …

Pandas Series 的学习笔记

Pandas Series 的学习笔记 0. Pandas 简介1. Series 学习1-1. 创建 Series1-2. 索引1-3. 选择数据1-4. 修改 Series1-5. Series 的操作 2. 结论 0. Pandas 简介 想象一下&#xff0c;你有一张超级大的餐桌&#xff0c;上面放满了各种各样的食物。Pandas 就像是这张餐桌&#x…

面试:大数据和深度学习之间的关系是什么?

大数据与深度学习之间存在着紧密的相互关系&#xff0c;它们在当今技术发展中相辅相成。 大数据的定义与特点:大数据指的是规模(数据量)、多样性(数据类型)和速度(数据生成及处理速度)都超出了传统数据处理软件和硬件能力范围的数据集。它具有四个主要特点&#xff0c;通常被称…

【Java】零基础蓝桥杯算法学习——二分查找

算法模板一: // 数组arr的区间[0,left-1]满足arr[i]<k,[left,n-1]满足arr[i]>k;Scanner scan new Scanner(System.in);int[] arr {1,2,3,4,5};int left 0,right arr.length-1;int k scan.nextInt();while(left<right) {//leftright时退出循环int mid (leftrigh…

leetcode(双指针)11.盛最多水的容器(C++详细解释)DAY9

文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回…

【Django】Django项目部署

项目部署 1 基本概念 项目部署是指在软件开发完毕后&#xff0c;将开发机器上运行的软件实际安装到服务器上进行长期运行。 在安装机器上安装和配置同版本的环境[python&#xff0c;数据库等] django项目迁移 scp /home/euansu/Code/Python/website euansuxx.xx.xx.xx:/home…

Rust的Match语句:强大的控制流运算符

在Rust中&#xff0c;match语句是一种强大的控制流运算符&#xff0c;用于比较一个值与一系列模式&#xff0c;并执行与第一个匹配的模式对应的代码块。它提供了一种清晰而灵活的方式来处理多个条件&#xff0c;使得代码更加可读、易于理解。 Match语句的基本使用 首先&#…

2月14作业

21.C 22.D 23.B 5先出栈表示1&#xff0c;2&#xff0c;3&#xff0c;4已经入栈了&#xff0c;5出后4出&#xff0c;但之后想出1得先让3&#xff0c;2先后出栈&#xff0c;所以 B 不可能 24.10&#xff0c;12&#xff0c;120 25.2&#xff0c;5 26.可能会出现段错误…