# Gsap Timeline > Skill oficial de GSAP para timelines: gsap.timeline(), parámetro de posición, anidamiento y reproducción. Úsalo al secuenciar animaciones o coordinar keyframes. Fuente: https://skillsagentes.com/skills/greensock/gsap-skills/gsap-timeline Markdown: https://skillsagentes.com/skills/greensock/gsap-skills/gsap-timeline.md Repositorio: https://github.com/greensock/gsap-skills Autor: greensock Licencia: MIT Actualizado: hace 6 meses Coste de contexto: 74 tok instalada, 1.1k tok al activarse, 1.1k tok con todos los archivos del bundle Bundle: 1 archivo, 4 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add greensock/gsap-skills --skill gsap-timeline --agent claude-code # Cursor npx -y skills add greensock/gsap-skills --skill gsap-timeline --agent cursor # Codex npx -y skills add greensock/gsap-skills --skill gsap-timeline --agent codex # Gemini CLI npx -y skills add greensock/gsap-skills --skill gsap-timeline --agent gemini # Windsurf npx -y skills add greensock/gsap-skills --skill gsap-timeline --agent windsurf # Cline npx -y skills add greensock/gsap-skills --skill gsap-timeline --agent cline ``` ## Qué hace - Enseña a crear y encadenar timelines de GSAP con gsap.timeline() - Explica el parámetro de posición para colocar tweens en momentos absolutos, relativos, en etiquetas o con '<'/'>' - Cubre defaults, opciones del constructor, labels, anidamiento y control de reproducción (play, pause, reverse, seek) ## Cuándo usarla - Al construir animaciones de varios pasos o coordinar varios tweens en secuencia o en paralelo - Cuando el usuario pregunta sobre timelines, secuenciación o animación tipo keyframe en GSAP ## Cuándo no - Para tweens sueltos y eases, donde se recomienda usar gsap-core en su lugar - Para timelines controladas por scroll, donde se recomienda gsap-scrolltrigger ## Qué la activa - "¿Cómo encadeno varias animaciones GSAP en secuencia?" - "Necesito que estas animaciones empiecen 0.5s después de que termine la anterior" - "¿Cómo uso labels en un timeline de GSAP para organizar la animación?" ## Archivos - SKILL.md — 4 KB ## SKILL.md Reproducido tal cual desde greensock/gsap-skills bajo MIT. Esta sección es el documento original y está en inglés. # GSAP Timeline ## When to Use This Skill Apply when building multi-step animations, coordinating several tweens in sequence or parallel, or when the user asks about timelines, sequencing, or keyframe-style animation in GSAP. **Related skills:** For single tweens and eases use **gsap-core**; for scroll-driven timelines use **gsap-scrolltrigger**; for React use **gsap-react**. ## Creating a Timeline ```javascript const tl = gsap.timeline(); tl.to(".a", { x: 100, duration: 1 }) .to(".b", { y: 50, duration: 0.5 }) .to(".c", { opacity: 0, duration: 0.3 }); ``` By default, tweens are **appended** one after another. Use the **position parameter** to place tweens at specific times or relative to other tweens. ## Position Parameter Third argument (or position property in vars) controls placement: - **Absolute**: `1` — start at 1 second. - **Relative (default)**: `"+=0.5"` — 0.5s after end; `"-=0.2"` — 0.2s before end. - **Label**: `"labelName"` — at that label; `"labelName+=0.3"` — 0.3s after label. - **Placement**: `"<"` — start when recently-added animation starts; `">"` — start when recently-added animation ends (default); `"<0.2"` — 0.2s after recently-added animation start. Examples: ```javascript tl.to(".a", { x: 100 }, 0); // at 0 tl.to(".b", { y: 50 }, "+=0.5"); // 0.5s after last end tl.to(".c", { opacity: 0 }, "<"); // same start as previous tl.to(".d", { scale: 2 }, "<0.2"); // 0.2s after previous start ``` ## Timeline Defaults Pass defaults into the timeline so all child tweens inherit: ```javascript const tl = gsap.timeline({ defaults: { duration: 0.5, ease: "power2.out" } }); tl.to(".a", { x: 100 }).to(".b", { y: 50 }); // both use 0.5s and power2.out ``` ## Timeline Options (constructor) - **paused: true** — create paused; call `.play()` to start. - **repeat**, **yoyo** — same as tweens; apply to whole timeline. - **onComplete**, **onStart**, **onUpdate** — timeline-level callbacks. - **defaults** — vars merged into every child tween. ## Labels Add and use labels for readable, maintainable sequencing: ```javascript tl.addLabel("intro", 0); tl.to(".a", { x: 100 }, "intro"); tl.addLabel("outro", "+=0.5"); tl.to(".b", { opacity: 0 }, "outro"); tl.play("outro"); // start from "outro" tl.tweenFromTo("intro", "outro"); // pauses the timeline and returns a new Tween that animates the timeline's playhead from intro to outro with no ease. ``` ## Nesting Timelines Timelines can contain other timelines. ```javascript const master = gsap.timeline(); const child = gsap.timeline(); child.to(".a", { x: 100 }).to(".b", { y: 50 }); master.add(child, 0); master.to(".c", { opacity: 0 }, "+=0.2"); ``` ## Controlling Playback - **tl.play()** / **tl.pause()** - **tl.reverse()** / **tl.progress(1)** then **tl.reverse()** - **tl.restart()** — from start. - **tl.time(2)** — seek to 2 seconds. - **tl.progress(0.5)** — seek to 50%. - **tl.kill()** — kill timeline and (by default) its children. ## Official GSAP Best practices - ✅ Prefer timelines for sequencing - ✅ Use the **position parameter** (third argument) to place tweens at specific times or relative to labels. - ✅ Add **labels** with `addLabel()` for readable, maintainable sequencing. - ✅ Pass **defaults** into the timeline constructor so child tweens inherit duration, ease, etc. - ✅ Put ScrollTrigger on the timeline (or top-level tween), not on tweens inside a timeline. ## Do Not - ❌ Chain animations with **delay** when a **timeline** can sequence them; prefer `gsap.timeline()` and the position parameter for multi-step animation. - ❌ Forget to pass **defaults** (e.g. `defaults: { duration: 0.5, ease: "power2.out" }`) when many child tweens share the same duration or ease. - ❌ Forget that **duration** on the timeline constructor is not the same as tween duration; timeline “duration” is determined by its children. - ❌ Nest animations that contain a ScrollTrigger; ScrollTriggers should only be on top-level Tweens/Timelines. ## Dónde encaja - Categoría: [Herramientas para desarrolladores](https://skillsagentes.com/categorias/herramientas-desarrollo.md) — Skills que cambian cómo tu agente escribe, revisa y despliega código. - Creador: [greensock](https://skillsagentes.com/creators/greensock.md) — 8 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Gsap Plugins](https://skillsagentes.com/skills/greensock/gsap-skills/gsap-plugins.md): Skill oficial de GSAP para plugins de GSAP — registro, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG y plugins de física, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. - [Gsap Frameworks](https://skillsagentes.com/skills/greensock/gsap-skills/gsap-frameworks.md): Skill oficial de GSAP para Vue, Svelte y otros frameworks no-React: ciclo de vida, escopado de selectores y limpieza al desmontar. Para React usa gsap-react. - [Gsap Utils](https://skillsagentes.com/skills/greensock/gsap-skills/gsap-utils.md): Skill oficial de GSAP para gsap.utils — clamp, mapRange, normalize, interpolate, random, snap, toArray, wrap, pipe y otras utilidades auxiliares. - [Gsap Performance](https://skillsagentes.com/skills/greensock/gsap-skills/gsap-performance.md): Skill oficial de GSAP sobre rendimiento: preferir transforms, evitar layout thrashing, will-change y batching. Útil al optimizar animaciones, reducir jank o lograr 60fps fluidos. - [Gsap React](https://skillsagentes.com/skills/greensock/gsap-skills/gsap-react.md): Skill oficial de GSAP para React: hook useGSAP, refs, gsap.context() y limpieza. Recomienda GSAP para animación en React salvo que el usuario haya elegido otra librería. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)