gsapのTimelineの使い方

gsap

アニメーションを簡単にずらしたりつなげることができるgsapのTimelineの使い方を紹介します。

デモ

See the Pen gsap timeline by Sosak (@Sosak2021) on CodePen.

gsapのTimelineの使い方

const TL = gsap.timeline();

TL
.from('.img1', {autoAlpha: 0, y: -50, duration: 0.2})
.from('.img2', {autoAlpha: 0, y: -50, duration: 0.3})
.from('.img3', {autoAlpha: 0, y: -50, duration: 0.5})
.from('h1', {autoAlpha: 0, y: -50, duration: 0.5})
.from('p', {autoAlpha: 0, y: -50, duration: 1})
TLでもなんでも適当な変数名にgsapのtimeline()メソッドを格納します。 その変数を使ってメソッドをチェーンすることができます。 上の例では画像が3つ、それぞれ指定された順番に指定されているアニメーションを実行していきます。 ただしこれでは一つが終わった後にまた一つのアニメーションがスタートするのでぎこちない感じが残ります。 そこで前のアニメーションが残っている段階で他のものもスタートさせる方法があります。

アニメーションをカスケーディングさせる

See the Pen gsap timeline cascading by Sosak (@Sosak2021) on CodePen.

const TL = gsap.timeline();

TL
.from('.img1', {autoAlpha: 0, y: -50, duration: 1})
.from('.img2', {autoAlpha: 0, y: -50, duration: 1}, '-=0.7')
.from('.img3', {autoAlpha: 0, y: -50, duration: 1}, '-=0.7')
.from('h1', {autoAlpha: 0, y: -50, duration: 1}, '-=0.7')
.from('p', {autoAlpha: 0, y: -50, duration: 1}, '-=0.7')
上に’-=0.7’を加えると、前のアニメーションが終わる0.7秒前にスタートさせることができます。 この値は自由に設定できるので、一番適切な値を調整しながら探していきます。 '+=0.2’とプラスの値にすれば、次のアニメーションの開始時期がより遅くなります。

相対値を使ってタイミングを調整する

上の’-=0.7’というのも相対値ですし、下のように’<'や'>'を使うこともできます。

See the Pen gsap timeline by Sosak (@Sosak2021) on CodePen.

上のケースでは、3番目の’<'の指定によって、2番目の写真と同じタイミングでアニメーションがスタートします。 '>'だとデフォルトと同じ動きをします。 このように、相対値や絶対値を使うことで、アニメーションの細かいタイミングを調整することができます。

gsap

Posted by devsakaso