1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

G-SAPを使用してアニメーションを実装する 〜概要編〜

Last updated at Posted at 2024-11-10

はじめに

学んだことを忘れないように備忘録として残しています

そもそもG-SAPとは

Web制作・開発においてモダンなアニメーションを作成するためのJavaScriptライブラリです。
筆者はスライドイン、カルーセルパネル、アコーディオンメニューなどの作成時に使用しています。

導入方法

色々な方法がありますが、簡単なのは公式サイトからCDNを使ってライブラリをheadタグ内で読み込めば導入することができます。

このとき読み込みの順番はG-SAP→JavaScriptファイル

基本構文


```jsx
gsap.to(".box", {
  x: 100,
});
  • to:メソッド
  • .box:第1引数。アニメーションさせる要素を指定(class名やid名)
  • x: 100,:第2引数。変化させたい動き(プロパティ)と設定値を指定

TweenとTimeline

GSAPを使う上で、基本であり恩恵を最大化するのに必要なものとして「Tween」と「Timeline」があります。

Tweenとは

要素やオブジェクトのプロパティ(位置、サイズ、色など)を時間に沿って変化させるアニメーションのこと

以下が使用メソッドになります。

to() アニメーション終了の状態を指定
from() アニメーション開始の状態を指定
fromTo() アニメーションの開始から終了までを指定
  • toは現在〜未来(未来の時点の状態を書く)

例:透明状態を記述して、ものがあるところから消えるというアニメーションが多い

  • fromは過去〜現在(過去の状態を書く)

例:透明状態を記述して、何もないところから出現するというアニメーションが多い

Timelineとは

「連続するTweenの処理を行うときに、前の処理のアニメーション時間に合わせて遅延させる必要なく、簡潔にタイミングを管理できる」というもの

【Timelineを使用しないで連続したアニメーションを書く場合】

gsap.to("#id", {x: 100, duration: 1});
gsap.to("#id", {y: 50, duration: 1, delay: 1}); //1秒遅延
gsap.to("#id", {opacity: 0, duration: 1, delay: 2}); //2秒遅延

1行目→2行目→3行目の順番で連続したアニメーションを起こす時、2つ目のアニメーションの発生を1つ目のアニメーション時間分遅らせる必要があり、

アニメーションが連続するほど複雑な遅延の計算を行わなければならない。

【Timelineを使用して連続したアニメーションを書く場合】

var tl = gsap.timeline({repeat: 2, repeatDelay: 1});
tl.to("#id", {x: 100, duration: 1});
tl.to("#id", {y: 50, duration: 1});
tl.to("#id", {opacity: 0, duration: 1});

Timelineを用いると、遅延を考えずにそのままつなげるだけで、1行目→2行目→3行目の順番で連続したアニメーションを起こすことができます。

おわりに

今回はG-SAP導入の概要を解説しました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?