Menu iconMenu iconFundamentals of Web Animation with GSAP
Fundamentals of Web Animation with GSAP

Chapter 3: Core Principles of GSAP Animation

Practical Exercises for Chapter 3: Core Principles of GSAP Animation

Well done on completing Chapter 3! To consolidate your understanding of the core principles of GSAP animation, here are some practical exercises. These tasks will challenge you to apply the concepts of tweens, timelines, and easing in various scenarios. Try to work through these exercises on your own first, then refer to the solutions for guidance and additional insight.

Exercise 1: Create a Staggered Animation

Animate a series of five div elements entering the screen from the left, one after the other, in a staggered manner.

Solution:
HTML:

<div class="staggered" style="background:red;"></div>
<div class="staggered" style="background:blue;"></div>
<div class="staggered" style="background:green;"></div>
<div class="staggered" style="background:yellow;"></div>
<div class="staggered" style="background:purple;"></div>

CSS:

.staggered {
    width: 50px;
    height: 50px;
    position: absolute;
    left: -60px;
}

JavaScript:

gsap.to(".staggered", {duration: 1, x: 100, stagger: 0.2});

Exercise 2: Animate an Element with Custom Easing

Create an animation where an element moves across the screen with a custom easing function that starts slow, speeds up, and then slows down at the end.

Solution:
HTML:

<div id="customEase"></div>

CSS:

#customEase {
    width: 50px;
    height: 50px;
    background-color: orange;
    position: relative;
}

JavaScript:

gsap.registerPlugin(CustomEase);

CustomEase.create("myCustomEase", "M0,0 C0.128,0.572 0.237,1.001 0.5,1 0.763,0.999 0.847,0.572 1,0");
gsap.to("#customEase", {duration: 3, x: 300, ease: "myCustomEase"});

Exercise 3: Control Animation Playback with Button Clicks

Create two buttons to control the playback of an animation: one to play the animation and another to reverse it.

Solution:
HTML:

<button id="play">Play</button>
<button id="reverse">Reverse</button>
<div id="playControl"></div>

CSS:

#playControl {
    width: 50px;
    height: 50px;
    background-color: teal;
    position: relative;
}

JavaScript:

let anim = gsap.to("#playControl", {duration: 2, x: 200, paused: true});

document.getElementById("play").addEventListener("click", function() {
  anim.play();
});

document.getElementById("reverse").addEventListener("click", function() {
  anim.reverse();
});

These exercises are designed to strengthen your grasp of GSAP's core principles and encourage creative exploration. Working through these challenges will not only enhance your technical skills but also spark your imagination in using GSAP for web animations. Remember, practice is key to mastering any skill, and GSAP is no exception. Keep experimenting with different animations, and soon you'll be crafting fluid, dynamic, and interactive animations with ease and confidence.

Practical Exercises for Chapter 3: Core Principles of GSAP Animation

Well done on completing Chapter 3! To consolidate your understanding of the core principles of GSAP animation, here are some practical exercises. These tasks will challenge you to apply the concepts of tweens, timelines, and easing in various scenarios. Try to work through these exercises on your own first, then refer to the solutions for guidance and additional insight.

Exercise 1: Create a Staggered Animation

Animate a series of five div elements entering the screen from the left, one after the other, in a staggered manner.

Solution:
HTML:

<div class="staggered" style="background:red;"></div>
<div class="staggered" style="background:blue;"></div>
<div class="staggered" style="background:green;"></div>
<div class="staggered" style="background:yellow;"></div>
<div class="staggered" style="background:purple;"></div>

CSS:

.staggered {
    width: 50px;
    height: 50px;
    position: absolute;
    left: -60px;
}

JavaScript:

gsap.to(".staggered", {duration: 1, x: 100, stagger: 0.2});

Exercise 2: Animate an Element with Custom Easing

Create an animation where an element moves across the screen with a custom easing function that starts slow, speeds up, and then slows down at the end.

Solution:
HTML:

<div id="customEase"></div>

CSS:

#customEase {
    width: 50px;
    height: 50px;
    background-color: orange;
    position: relative;
}

JavaScript:

gsap.registerPlugin(CustomEase);

CustomEase.create("myCustomEase", "M0,0 C0.128,0.572 0.237,1.001 0.5,1 0.763,0.999 0.847,0.572 1,0");
gsap.to("#customEase", {duration: 3, x: 300, ease: "myCustomEase"});

Exercise 3: Control Animation Playback with Button Clicks

Create two buttons to control the playback of an animation: one to play the animation and another to reverse it.

Solution:
HTML:

<button id="play">Play</button>
<button id="reverse">Reverse</button>
<div id="playControl"></div>

CSS:

#playControl {
    width: 50px;
    height: 50px;
    background-color: teal;
    position: relative;
}

JavaScript:

let anim = gsap.to("#playControl", {duration: 2, x: 200, paused: true});

document.getElementById("play").addEventListener("click", function() {
  anim.play();
});

document.getElementById("reverse").addEventListener("click", function() {
  anim.reverse();
});

These exercises are designed to strengthen your grasp of GSAP's core principles and encourage creative exploration. Working through these challenges will not only enhance your technical skills but also spark your imagination in using GSAP for web animations. Remember, practice is key to mastering any skill, and GSAP is no exception. Keep experimenting with different animations, and soon you'll be crafting fluid, dynamic, and interactive animations with ease and confidence.

Practical Exercises for Chapter 3: Core Principles of GSAP Animation

Well done on completing Chapter 3! To consolidate your understanding of the core principles of GSAP animation, here are some practical exercises. These tasks will challenge you to apply the concepts of tweens, timelines, and easing in various scenarios. Try to work through these exercises on your own first, then refer to the solutions for guidance and additional insight.

Exercise 1: Create a Staggered Animation

Animate a series of five div elements entering the screen from the left, one after the other, in a staggered manner.

Solution:
HTML:

<div class="staggered" style="background:red;"></div>
<div class="staggered" style="background:blue;"></div>
<div class="staggered" style="background:green;"></div>
<div class="staggered" style="background:yellow;"></div>
<div class="staggered" style="background:purple;"></div>

CSS:

.staggered {
    width: 50px;
    height: 50px;
    position: absolute;
    left: -60px;
}

JavaScript:

gsap.to(".staggered", {duration: 1, x: 100, stagger: 0.2});

Exercise 2: Animate an Element with Custom Easing

Create an animation where an element moves across the screen with a custom easing function that starts slow, speeds up, and then slows down at the end.

Solution:
HTML:

<div id="customEase"></div>

CSS:

#customEase {
    width: 50px;
    height: 50px;
    background-color: orange;
    position: relative;
}

JavaScript:

gsap.registerPlugin(CustomEase);

CustomEase.create("myCustomEase", "M0,0 C0.128,0.572 0.237,1.001 0.5,1 0.763,0.999 0.847,0.572 1,0");
gsap.to("#customEase", {duration: 3, x: 300, ease: "myCustomEase"});

Exercise 3: Control Animation Playback with Button Clicks

Create two buttons to control the playback of an animation: one to play the animation and another to reverse it.

Solution:
HTML:

<button id="play">Play</button>
<button id="reverse">Reverse</button>
<div id="playControl"></div>

CSS:

#playControl {
    width: 50px;
    height: 50px;
    background-color: teal;
    position: relative;
}

JavaScript:

let anim = gsap.to("#playControl", {duration: 2, x: 200, paused: true});

document.getElementById("play").addEventListener("click", function() {
  anim.play();
});

document.getElementById("reverse").addEventListener("click", function() {
  anim.reverse();
});

These exercises are designed to strengthen your grasp of GSAP's core principles and encourage creative exploration. Working through these challenges will not only enhance your technical skills but also spark your imagination in using GSAP for web animations. Remember, practice is key to mastering any skill, and GSAP is no exception. Keep experimenting with different animations, and soon you'll be crafting fluid, dynamic, and interactive animations with ease and confidence.

Practical Exercises for Chapter 3: Core Principles of GSAP Animation

Well done on completing Chapter 3! To consolidate your understanding of the core principles of GSAP animation, here are some practical exercises. These tasks will challenge you to apply the concepts of tweens, timelines, and easing in various scenarios. Try to work through these exercises on your own first, then refer to the solutions for guidance and additional insight.

Exercise 1: Create a Staggered Animation

Animate a series of five div elements entering the screen from the left, one after the other, in a staggered manner.

Solution:
HTML:

<div class="staggered" style="background:red;"></div>
<div class="staggered" style="background:blue;"></div>
<div class="staggered" style="background:green;"></div>
<div class="staggered" style="background:yellow;"></div>
<div class="staggered" style="background:purple;"></div>

CSS:

.staggered {
    width: 50px;
    height: 50px;
    position: absolute;
    left: -60px;
}

JavaScript:

gsap.to(".staggered", {duration: 1, x: 100, stagger: 0.2});

Exercise 2: Animate an Element with Custom Easing

Create an animation where an element moves across the screen with a custom easing function that starts slow, speeds up, and then slows down at the end.

Solution:
HTML:

<div id="customEase"></div>

CSS:

#customEase {
    width: 50px;
    height: 50px;
    background-color: orange;
    position: relative;
}

JavaScript:

gsap.registerPlugin(CustomEase);

CustomEase.create("myCustomEase", "M0,0 C0.128,0.572 0.237,1.001 0.5,1 0.763,0.999 0.847,0.572 1,0");
gsap.to("#customEase", {duration: 3, x: 300, ease: "myCustomEase"});

Exercise 3: Control Animation Playback with Button Clicks

Create two buttons to control the playback of an animation: one to play the animation and another to reverse it.

Solution:
HTML:

<button id="play">Play</button>
<button id="reverse">Reverse</button>
<div id="playControl"></div>

CSS:

#playControl {
    width: 50px;
    height: 50px;
    background-color: teal;
    position: relative;
}

JavaScript:

let anim = gsap.to("#playControl", {duration: 2, x: 200, paused: true});

document.getElementById("play").addEventListener("click", function() {
  anim.play();
});

document.getElementById("reverse").addEventListener("click", function() {
  anim.reverse();
});

These exercises are designed to strengthen your grasp of GSAP's core principles and encourage creative exploration. Working through these challenges will not only enhance your technical skills but also spark your imagination in using GSAP for web animations. Remember, practice is key to mastering any skill, and GSAP is no exception. Keep experimenting with different animations, and soon you'll be crafting fluid, dynamic, and interactive animations with ease and confidence.