What is gsap?
GSAP (GreenSock Animation Platform) is a powerful JavaScript library for creating high-performance animations that work in all major browsers. It is widely used for animating web elements, SVGs, and more, providing a rich set of features for developers to create complex animations with ease.
What are gsap's main functionalities?
Basic Tweening
This feature allows you to animate any property of an element over a specified duration. In this example, the element with the class 'element' will move 100 pixels to the right over 1 second.
gsap.to('.element', { duration: 1, x: 100 });
Timeline Animations
Timelines allow you to sequence multiple animations. In this example, 'element1' will move 100 pixels to the right, and then 'element2' will move 100 pixels down, each over 1 second.
const tl = gsap.timeline();
tl.to('.element1', { duration: 1, x: 100 })
.to('.element2', { duration: 1, y: 100 });
Stagger Animations
Staggering allows you to animate multiple elements with a delay between each start. In this example, each element with the class 'elements' will move 100 pixels to the right, starting 0.2 seconds after the previous one.
gsap.to('.elements', { duration: 1, x: 100, stagger: 0.2 });
ScrollTrigger
ScrollTrigger allows you to create animations that are triggered by scrolling. In this example, the element with the class 'element' will move 100 pixels to the right when it enters the viewport.
gsap.registerPlugin(ScrollTrigger);
gsap.to('.element', { scrollTrigger: '.element', x: 100 });
Other packages similar to gsap
animejs
Anime.js is a lightweight JavaScript animation library with a simple, yet powerful API. It supports CSS properties, SVG, DOM attributes, and JavaScript Objects. Compared to GSAP, Anime.js is more lightweight but may lack some of the advanced features and plugins that GSAP offers.
velocity-animate
Velocity is an animation engine with the same API as jQuery's $.animate(). It works with and without jQuery. Velocity is known for its performance and ease of use, but it doesn't offer as many features and plugins as GSAP.
popmotion
Popmotion is a functional, flexible JavaScript animation library. It provides a range of tools for creating animations and interactions. While it is highly modular and flexible, it may require more setup and understanding compared to GSAP's more straightforward API.
GSAP (GreenSock Animation Platform)
Ultra high-performance, professional-grade animation for the modern web
GSAP is a JavaScript library for high-performance HTML5 animations that work in all major browsers. No other library delivers such advanced sequencing, reliability, API efficiency, and tight control while solving real-world problems for animators on over 3 million sites. GSAP can animate any numeric property of any JS object, not just CSS properties.
What is GSAP? (video)
Getting started video
Think of GSAP as the Swiss Army Knife of animation. It animates anything JavaScript can touch (CSS properties, canvas library objects, SVG, generic objects, whatever) and solves countless browser inconsistencies, all with blazing speed (up to 20x faster than jQuery), including automatic GPU-acceleration of transforms. See the "Why GSAP?" article for details. Most other libraries only animate CSS properties. Plus, their sequencing abilities and runtime controls pale by comparison. Simply put, GSAP is the most robust high-performance animation library on the planet, which is probably why Google recommends it for JS-based animations and every major ad network excludes it from file size calculations. Unlike monolithic frameworks that dictate how you structure your apps, GSAP is completely flexible; sprinkle it wherever you want.
This is the public repository for GreenSock's JavaScript tools like GSAP and Draggable. "GSAP" describes all of the animation-related tools which include TweenLite, TweenMax, TimelineLite, TimelineMax, various plugins (like CSSPlugin for animating CSS properties of DOM elements), extra easing functions, etc.
Resources
CDN
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.0/TweenMax.min.js"></script>
Click the green "Download GSAP" button at http://greensock.com for more options. Most ad networks have it on their CDNs as well, so contact them for the appropriate URL(s).
NPM
npm install gsap
The default (main) file is TweenMax which also includes TweenLite, TimelineLite, TimelineMax, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin, and all of the eases like Power1, Power2, Power3, Power4, Back, Bounce, Circ, Cubic, Elastic, Expo, Linear, Sine, RoughEase, SlowMo, and SteppedEase (except the CustomEase, CustomWiggle, and CustomBounce). Please make sure you're using at least version 1.19.1.
import {TweenMax, Power2, TimelineLite} from "gsap";
import Draggable from "gsap/Draggable";
import ScrollToPlugin from "gsap/ScrollToPlugin";
Get CustomEase for free
Sign up for a free GreenSock account to gain access to CustomEase, a tool that lets you create literally any ease imaginable (unlimited control points). It's in the download zip at GreenSock.com (when you're logged in).
What is Club GreenSock? (video)
Sign up anytime.
Need help?
Head over to the GreenSock forums which are an excellent resource for learning and getting questions answered. Report any bugs there too please (it's also okay to file an issue on Github if you prefer).
Copyright (c) 2008-2017, GreenSock. All rights reserved.
License: GreenSock's standard "no charge" license can be viewed at http://greensock.com/standard-license. Club GreenSock members are granted additional rights. See http://greensock.com/licensing/ for details. Why doesn't GreenSock use an MIT (or similar) open source license, and why is that a good thing? This article explains it all: http://greensock.com/why-license/