GSAP教程之gsap.to, gsap.from与gsap.fromTo详解

使用GSAP创建惊艳的动画效果(一) 详细介绍了GSAP库的使用 阅读详情
AI摘要

本文详细介绍了GreenSockAnimationPlatform(GSAP)API中的关键函数如gsap.to,gsap.from,和gsap.fromTo,包括如何设置动画的目标位置、持续时间、运动方式、延迟和各种回调函数,帮助开发者掌握如何创建和控制复杂的CSS动画。,

gsap.to(targets, vars)

产生从初始位置(或状态)到目标位置(或状态)的动画
targets: 产生动画的对象
vars: 目标状态参数
例子:
该动画从当前的位置移动到100的位置

gsap.to("div", {
  duration: 5,
  x: 100
});

gsap.from(targets, vars)

产生从设置位置(或状态)到初始位置(或状态)的动画
targets: 产生动画的对象
vars: 设置状态参数
例子:
该动画从100的位置移动到初始位置

gsap.from("div", {
  duration: 5,
  x: 100
});

gsap.fromTo(targets, vars, vars)

产生从开始位置(或状态)到结束位置(或状态)的动画
targets: 产生动画的对象
vars(第1个): 开始状态参数
vars(第2个): 结束状态参数
例子:
该动画从100的位置移动到300的位置

gsap.fromTo("div", {
  x: 100
},{
  duration: 5,
  x: 300
});

targets
设置动画的对象,可以是“.class”、“id”等选择器文本(GSAP内使用document.querySelectorAll(), 具体可参考该用法),也可以是对元素、泛型对象甚至对象数组。

vars
包含要设置动画的所有属性/值的对象,以及任何特殊属性,如ease、duration、delay或onComplete(如下所列)。

vars参数详解


callbackScope

用于所有回调(onStart、onUpdate、onComplete等)的范围(this句柄)。
在所有回调中this默认指向该tween。若设置callbackScope ,this则指向该设置对象。

data
将任意数据赋给该属性(字符串或对象引用等),以便可以在任何地方tween.data访问该数据。

delay
动画开始前的延迟量(秒)。
例子:
在2秒后,向右移动100

gsap.to("div", {
  delay: 2,
  duration: 2,
  x: 100
})

duration

动画持续的时间(秒)。默认值:0.5。
例子:
用2秒的时间向右移动100

gsap.to("div", {
  duration: 2,
  x: 100
})

ease

动画的运动方式。比如“elastic”(弹性), “strong.inOut”(强烈的先快后慢)等,默认值:“power1.out”(渐缓)
例子:
向右运动100,动画过程是强烈的先快后慢

gsap.to("div", {
  duration: 2,
  x: 100,
  ease: "strong.inOut"
})

id

为tween实例分配id(可选),以便之后使用gsap.getById()来获取该tween。
例子:

gsap.to("div", {
  id: "myTween",
  duration: 2,
  x: 100
})

gsap.getById("myTween")

immediateRender

通常在不设置delay(延迟)的情况下,tween会在下一帧进行渲染,如果设置为true, 将会强制它在实例化时立即呈现。默认值:false。
由于gsap.from和gsap.fromTo 他们需要从一个状态开始运动,初始状态需要在实例化时立即渲染呈现。所以在它们的fromvars 中immediateRender是默认为true, 而在gsap.to的vars中默认为false。
例子:
当immediateRender为false时,不立即渲染到起始位置,而等到2秒延迟后,才从起始位置开始运动。 而设置true时,则在实例化时就立即渲染到起始位置。

gsap.from("div", {
  delay: 2,
  x: 500,
  immediateRender: false
})

inherit

通常tween的属性从其所属timeline的defaults继承而来,但是可以通过设置inherit:false来禁止继承, 具体可参考gsap.defaults详解

lazy

当tween第一次渲染并读取其初始值时,GSAP将尝试延迟值的写入,直到当前的tick(更新循环)的最后再进行写入,这样可以提高性能。因为它避免了浏览器读/写/读/写的频繁操作,这种频繁的操作会极大的消耗性能并造成布局抖动。设置lazy:false便禁用这种延迟渲染,但是不建议禁用。默认值:true。

onComplete

动画完成时调用的函数。

onCompleteParams

传递给onComplete函数的参数数组。
例子:

gsap.to("div", {
  x: 500,
  onComplete: complete,
  onCompleteParams: [2, "str"]
})

function complete(i, str){
  //i = 2, str = "str"
}

onRepeat

当动画重复时调用的函数。需要设置repeat(大于0)才会有效。

onRepeatParams

传递给onRepeat 函数的参数数组。

onReverseComplete

当动画从反方向再次达到开始位置时要调用的函数。需要设置reversed: true

onReverseCompleteParams

传递给onReverseComplete函数的参数数组。

onStart

动画开始时要调用的函数。

onStartParams

传递给onStartParams函数的参数数组。

onUpdate

每次动画更新时(每帧)调用的函数。

onUpdateParams

传递给onUpdate函数的参数数组。

overWrite

如果设置true, 该对象的其他动画(任何属性)就会被停止;如果设置auto,只会停止其他动画的相关属性动画;如果false,则不停止任何动画,最后呈现的动画效果是各个动画相互作用的结果。 默认值:false
例子:

gsap.to("div", {
  x: 500,
  y: 500
})

gsap.to("div", {
  x: 300,
  overwrite: false,
})
  • 如果设置false(或不设置),2个动画都正常运行,div的x值是2个动画相互作用的结果。
  • 如果设置true, 直接会停止第一个动画(x,y的动画都会被停止),最终呈现的是x运动到300,而y没有变化(不会运动到500)。
  • 如果设置auto, 只会停止第一个动画的x动画,对于y的动画不受影响,最终呈现的是x运动到300,y运动到500。

paused

如果设置true,动画将在创建时立即暂停。默认值:false
例子:

let tween = gsap.to("div", {
  x: 500,
  paused: true
});
tween.play();

repeat

设置动画重复的次数。 设置1为重复两次, 默认值:0。设置-1为无限重复。
例子:

let tween = gsap.to("div", {
  x: 500,
  repeat: 2
});

该动画共运动了3次。

repeatDelay

每次动画重复之间等待的时间(秒)。默认值:0

repeatRefresh

设置true 会导致重复的动画失效,因为每次完成一次后,会重新更新其开始和结束值。如果属性使用的动态值(随机或函数),会得到特别的动画效果。默认值:false。
例子1:
从0位置向右运动500,重复5次。

gsap.to("div", {
  x: 500,
  repeat: 5
});

如果设置repeatRefresh:true后则看起来只会重复一次。因为每次重复都会重新更新开始和结束值,第2次重复时起始值更新为500,结束值也是500。所以第2次到第5次位置未发生任何变化。

gsap.to("div", {
  x: 500,
  repeat: 5,
  repeatRefresh: true
});

例子2:
从0位置向右移动一个随机位置,重复5次。关于random的用法请参考gsap.utils详解。

gsap.to("div", {
  x: "random(200, 500)",
  repeat: 5
});

如果设置repeatRefresh:true后每次重复都会重新计算随机值,div会连续做5次运动,每次运动的距离随机。这就产生了特别的动画效果,所以设置repeatRefresh:true 就特别适合该类型的动画效果。

gsap.to("div", {
  x: "random(200, 500)",
  repeat: 5,
  repeatRefresh: true
});

reversed

如果设置true,动画将调转方向超其开始方向移动。由于开始已经是初始位置,设置true后动画将显示为暂停。默认值:false。
例子:

gsap.to("div", {
  delay: 2,
  duration: 2,
  x: 500,
  onComplete: function(){
    this.reversed(true);
  }
});

runBackwards

如果设置true, 动画将翻转其起始值和结束值,但对于ease不会反转。可以通过设置true将gsap.to 转换为gsap.from。默认值:false。
例子:
下面2个动画是一样的效果,并且gsap.from内部也是这么处理。

gsap.to("div", {
  x: 500,
  runBackwards: true,
});

stagger

如果是多个动画目标,可以通过设置类似stagger:0.1(每个目标动画开始之间间隔0.1秒)来错开每个动画。或可以设置参数对象来实现更高级的动画效果,具体参考staggers详解。
例子:
所有的div都向右移动500,每个div间隔0.2秒开始移动。

gsap.to("div", {
  x: 500,
  stagger: 0.2
});

startAt

定义任何属性的起始值(即便它们没有设置动画)。
例子:

gsap.to("div", {
  x: 500,
  startAt: {
    y: 500,
    alpha: 0.5
  }
});

yoyo

如果设置true,则每隔一次的重复都将以反方向的方向运动,动画呈现来回运动的效果。单次运动无效,需要配合repeat使用。默认值:false。
例子:

gsap.to("div", {
  x: 500,
  repeat: 5,
  yoyo: true
});

yoyoEase

允许你改变yoyo过程中的ease。可以指定特定的ease(例如:“power2.in”),可以设置true来翻转原本的ease。默认值:false。 另外:启动了该属性后,yoyo会自动设置true。
例子1:
如果不设置yoyoEase:true,yoyo过程应该是逐渐加快,设置后原本的ease进行了翻转,变为逐渐减慢。

gsap.to("div", {
  x: 500,
  repeat: -1,
  yoyoEase: true
});

例子2:
这里对yoyo过程设置了一个弹性的ease。

gsap.to("div", {
  x: 500,
  repeat: -1,
  yoyoEase: "elastic"
});

keyframes

对同一对象的一连串的动画(关键帧动画)。和一连串的gsap.to等效。
例子:
沿x轴向右运动100,停顿1秒,再沿x轴向右运动到200的位置,同时y轴运动到200。

gsap.to("div", {
  keyframes: [
    {
      x: 100
    },
    {
      delay: 1,
      x: 200,
      y: 200
    }
  ]
});

vars 属性的Function类型参数


通过使用function类型参数来实现更复杂的动画效果。
例子1:
每个div的运动的y值不同,按顺序依次多100。第一个div运动到{x:100, y:0}的位置,第2个div运动到{x:100,y:100}的位置,第3个div运动到{x:100,y:200}的位置,依次类推。

gsap.to("div", {
  x: 100,
  y: function(index, target, targets){
    return index * 100;
  }
});

例子2:
偶数索引的div沿y轴运动100,其他div则y保持不变。

gsap.to("div", {
  x: 100,
  y: function(index, target, targets){
    return index % 2 === 0 ? 100 : 0;
  }
});

参数:
index: 当前运动对象的索引
target:当前运动对象
targets: 全部运动对象的数组

JS 流行库(十一):GSAP 阅读详情

相关推荐

Windows(Win10、Win11)本地部署开源大模型保姆级教程

最近开源大模型可谓闹的沸沸扬扬,尤其是Microsoft开源的和Meta开源的llama3 70b,评测都已经接近了的水平。鉴于还有很多同学不会在上部署和使用本地模型,因此我们出一期保姆级教程。本文讲述了如何在上本地部署大模型。从最基础的软件安装到环境配置都进行了截图展示,希望对非计算机的同学也有所帮助。AI时代我们每个人都必须要掌握一些AI知识,相信不断学习的你一定不会被AI淘汰。这只是开始,后面我们还有很多工作要做,尤其是提示词和智能体。

AIGIS的博客 3万+

GSAP使用详解

其中,target是要动画的元素,可以是DOM元素、对象或数组;gsap.fromTo()方法用于创建一个Tween动画,将元素从一个状态过渡到另一个状态,可以自定义初始状态和结束状态。这段代码将会创建一个时间轴,先让element1沿着x轴移动200像素,再让element2沿着y轴移动200像素,持续时间为1秒。gsap.from()方法用于创建一个Tween动画,将元素从一个状态过渡到另一个状态,但是是从初始状态开始的。其中,target是要动画的元素,可以是DOM元素、对象或数组;

qq_59456579的博客 6635

ERGM指数随机图模型全解析:从基础原理到R语言实操

从社交网络中的互惠、传递性和同质性等基本现象切入,介绍网络数据与传统回归分析的本质差异——边与边之间的依赖关系。指数随机图模型(ERGM)正是为刻画这种依赖结构而设计的统计框架,它通过指数族分布将网络结构效应显式建模,结合MCMC方法完成参数估计。ERGM在组织协作、传播扩散、生物生态等领域的应用日益广泛,其扩展模型TERGM、GERGM和多层ERGM进一步支持时序、权重与多重关系网络。本文系统梳理ERGM的理论基础、核心统计量、扩展模型选型及R语言实操要点,帮助研究者理解网络生成机制并完成收敛性诊断与结果

weixin_29050271的博客 361

gsap.to, gsap.from, gsap.formTo 的基本使用

gsap.to, gsap.from, gsap.formTo 的基本使用

weixin_48845614的博客 1114

Claude Code × SolidWorks:批量填属性、格式转换、BOM 汇总自动化实战

摘要:本文介绍利用 Claude Code 生成 VBA 宏实现 SolidWorks 批量处理任务的自动化方案。包含5个实战案例:批量填写自定义属性(60分钟任务→10秒)、批量格式转换(80分钟→30秒)、多配置工程图自动生成(120分钟→2分钟)、滚珠丝杠选型计算(15分钟→10秒)和装配体递归BOM导出(40分钟→1分钟)。所有代码基于SolidWorks 2020+ API,提供完整VBA实现和操作指南,可显著提升设计效率。

m0_64424835的博客 612

5G MBS(组播广播服务)深度解析:从标准架构到商用实践

5G MBS(组播广播服务)深度解析:从标准架构到商用实践

大家好,我是码农老gou,一名专注于编程技术的程序员。在这个博客中,我将与大家分享我在工作和学习中的经验、见解以及一些实用的技术干货。 1081

GSAP从入门到精通

经常能看到很多网站,随着页面滚动条向下滑动时,有非常丰富的页面动画效果;相信很多小伙伴也都很好奇,这样的网站效果是如何做出来的。我们本文就来深入的学习一下GSAP这个库的用法,为后面实现酷炫的动画效果打下基础。首先这样的滚动效果和fullpage.js、Swiper.js全屏翻页滚动轮播的效果是不一样的,页面元素的位置极度的依赖于滚动条的位置,因此是需要监听滚动条事件;

changbb的专栏 1万+

HexView 脚本自动化工具:从刷写文件处理到批量转换实战

本文详细介绍了如何利用HexView脚本自动化工具高效处理嵌入式刷写文件。通过实战演示,文章展示了如何使用bat脚本实现S19、HEX等格式文件的剪切、填充、合并与批量转换,构建自动化流水线,从而显著提升汽车电子等领域的开发与生产效率。

weixin_29237635的博客 356

GSAP动画库—创建你的第一个动画

简单的理解就是,使用这个库,可以创造出更丝滑,兼容性更强的网页页面交互动画。目前了解到这里就可以了。今天就先说到这里,今天我们学习了什么是补间,补间的方法,以及补间的目标可以是什么,接下来的几天我还会持续的为大家更新这类的文章,然后进行分享。我自己呢,也有一个关于前端内容的社区,大家可以加入一下,后续还会有更多前端内容的分享,希望对大家有帮助,欢迎加入。点击此处加入我们的社区,一起学习吧。

m0_64387122的博客 4549

在 SAP HANA XS Advanced 中用 InA 打通 Web 化分析数据访问:架构原理、部署步骤与实战指南

本文介绍了如何在SAP HANA环境中通过InA协议为XS Advanced应用和分析工具提供实时数据访问。主要内容包括:InA协议的作用是将HANA计算视图等模型通过HTTP(S)暴露为实时数据源;SAP HANA Analytics Adapter(xsahaa)是关键组件,负责协议转换和连接管理;部署包含本地和云端两种形式,均需建立XSA空间与租户数据库的映射;实施前需准备HDI容器、适配器构建和网络验证;安全方面通过XSA用户角色和HDI授权双重控制;文章还提供了与SAP Analytics Clo

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 259

4 屏 + 8 摄像头一开,谁在悄悄拖慢你的座舱域控?

如果你觉得座舱卡顿:❌ 别第一反应怪 SoC❌ 别盲目堆算力。

weixin_43199439的博客 148

GSAP动画库

什么是GSAPGSAP全称是( GreenSock Animation Platform)GreenSock 动画平台。GSAP 是一个强大的 JavaScript 动画库,可让开发人员轻松的制作各种复杂的动画。GSAP动画库的特点与Snap.svg不一样,GSAP无论是HTML 元素、还是SVG、或是Vue、React组件的动画,都可以满足你的需求。GSAP的还提供了一些插件,可以用最少的代码创建令人震惊的动画,比如:ScrollTrigger插件和MorphSVG插件。

qq_40421206的博客 5024

matlab 点云学习目录【2026最新版】

matlab 点云学习目录。博客长期更新,本文最近更新时间为:2026年6月15日。

点云侠的博客 3万+

gsap的简单用法

想像gsap.from()一个向后补间,您定义值应该从哪里开始,然后它动画到当前状态,这非常适合将对象动画到屏幕上,因为您可以按照您希望它们在结尾处看到的方式设置它们并且然后从其他地方动画。例如: 可以控制的项可以查看文档 ease:可调节曲线,查看运动轨迹同gsap.from()动画相反 fromTo() gsap.fromTo()补间允许您定义动画的开始和结束值(与使用当前状态作为开始或结束的from()和to()补间相反)。这对于完全控制动画非常有用,尤其是当它与其他动画链接时 effects:注册动

榴莲不好吃的专栏 4944

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

react-gsap Tween 组件完全指南:from、to、stagger 三大属性让元素动起来

**react-gsap** 是一款将知名动画库 GSAP(GreenSock Animation Platform)封装成 React 组件的开源项目,让你无需手写 `useEffect` 和 ref,就能以声明式的方式创建流畅的 Web 动画。其中 **Tween 组件**是整个项目的核心:通过 `from`、`to`、`stagger` 三大属性,你只需几行代码就能让 React 元素平滑地

gitblog_01194的博客 1002

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

gsap动画库入门

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

weixin_52102740的博客 2064

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

前端动画库GSAP 入门学习详解

GSAP(GreenSock Animation Platform)是一个强大、高性能的前端动画库,用于创建各种交互式和复杂的动画效果。它是业界最受欢迎和使用广泛的动画库之一,被许多开发者和设计师用来增强网页和应用程序的用户体验。

starry-sea1412的弃坑之路 5240

GSAP 增添动画效果 (01)

GSAP (GreenSock Animation Platform) 是一个专业的动画框架,它具有强大的性能和灵活的功能。

https://shixuebin.gitee.io/hexo-blog/ 699

【GSAP3教程】如何创建一个 Tween

上一篇就简单说了下GSAP2和GSAP3的区别,也简单说了gsap.to()的使用方法,这篇主要说如何创建一个Tween。1创建Tween的三个方法gsap有三个方法可以快速创建一个Tween:gsap.to(targets, vars)从原本属性变化到 vars中定义的属性gsap.from(targets, vars)从vars中定义的属性变化到原本属性...

青年码农 623

gsap.fromTo 动画,图片背景滚动效果

gsap.fromTo 动画,图片背景滚动效果

qq_42351675的博客 292

GSAP动画库 入门

个人v:wx_grmdcxy,qq交流群:1031858368。是 GSAP 动画库中的一个核心插件,主要用于创建基于滚动位置触发的动画效果。如果只是简单移动,CSS 或 Vue Transition 就够用了。刚入门的程序员的个人空间-刚入门的程序员个人主页-哔哩哔哩视频。如果想做高级动画(如贝塞尔曲线、物理运动、序列动画),

制定持续可量化的目标,不断坚持。 1396

Gsap学习笔记——入门)(1)

GSAP简单入门(1)

2302_80018617的博客 795

jQuery的GSAP(GreenSock Animation Platform)是一个强大的动画库

它提供了大量的动画方法和函数,可以应用于HTML元素、CSS属性和数字值,让开发者能够以简单、流畅的方式来实现各种动画效果。方法,你可以指定元素的起始状态和结束状态,并在指定的持续时间内进行过渡。是GSAP库中的一个方法,用于创建一个动画,在指定的开始和结束状态之间进行过渡。总之,GSAP是一个功能强大、易于使用的动画库,可以帮助开发者轻松地创建出各种各样的动画效果,提升网页的交互性和用户体验。这是描述动画结束状态的对象。是结束状态对象,表示元素的最终位置为右侧偏移100个像素,动画持续时间为1秒。

qq_27487739的博客 1995

GSAP使用指南

GSAP 动画库核心使用指南 GSAP 是业界领先的 JavaScript 动画库,提供高性能、跨浏览器兼容的动画解决方案。本文摘要介绍其核心使用方法: 安装方式:支持 CDN 快速引入或 npm/yarn 安装,插件需先注册后使用 核心动画方法: gsap.to():从当前状态动画到目标状态(最常用) gsap.from():从指定初始状态动画回默认状态(适合入场动画) gsap.fromTo():完全自定义起止状态 gsap.set():无动画直接设置属性 核心属性: 动画控制属性:duration、d

weixin_41683949的博客 566

GSAP动画库学习——基本用法

    可怕的春天,冷热交替,小生不幸感冒了,说好的每天一个小技巧也缺席了好几天(┭┮﹏┭┮),惭愧    今日小技巧是关于一个js动画库的入门介绍,完成最常见的一些动画效果,如有发现错误之处,希望这位看官能留言指正,小生感激不尽~//========================================================一、关于GSAP web动画库GSAP的全名是Gre...

Mentina的小屋 4957
上一篇: H5 浏览器WebGL性能分析工具类WebGLUtils
下一篇: GSAP教程之Tween详解
优联前端
博客等级 码龄5年 1832粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值