ふわっと表示
下から少し移動しながら、透明から表示。もっともよく使う基本の動きです。
gsap.to / from / timeline の基本形。ほかのすべてのアニメーションの土台になります。
下から少し移動しながら、透明から表示。もっともよく使う基本の動きです。
リストやカードを少しずつずらして表示。stagger の秒数を変えるだけでテンポを調整できます。
ラベル→見出し→リード文→ボタンの順に登場。timeline で順番と重なりを管理します。
メインビジュアル下の「SCROLL」表示。repeat: -1 で無限に繰り返し、yoyo で行き来させます。
代表的な ease を並べて比較。動きの印象を決めるときの見本に。
gsap.matchMedia で、画面幅ごとに動きを変え、OSの「視差効果を減らす」設定ではアニメーションを止めます。
スクロール位置に合わせて再生・固定・連動させる動き。プレビューは枠の中をスクロールして確認できます。
画面に入ったら表示。クラス js-fade を付けるだけで、どの要素にも使い回せます。
同時に画面に入ったカードだけをまとめて、時間差で表示。記事一覧や実績一覧に。
枠の中で画像がゆっくり動き、奥行きが出ます。scrub でスクロール量にぴったり連動。
セクションを画面に固定したまま、スクロールで中身を切り替え。サービスの流れや特徴紹介に。
縦にスクロールすると、横に並んだパネルが流れます。実績や商品の紹介に。
ページの上部に、どこまで読んだかを示すバー。ブログ記事や長いLPに。
画面に入ったら 0 から目標の数字まで増えます。実績数・満足度などの数字に。
下にスクロールするとヘッダーが隠れ、上に戻すと現れます。スマホで画面を広く使えます。
画像が左から右へ現れ、同時に少しズームアウト。実績やギャラリーの写真に。
見出しやキャッチコピーを1文字ずつ・1行ずつ見せる演出。SplitText などのプラグインを使います。
SplitText で文字を分割し、1文字ずつ下から登場。キャッチコピーや見出しに。
各行が見えない枠の下からせり上がります。リード文や本文の冒頭に。
文字が1文字ずつ打ち込まれ、消えて次の言葉へ。TextPlugin で文字列そのものを動かします。
ランダムな文字が流れたあと、正しい文字に確定。テック系・クリエイティブ系のサイトに。マウスを乗せると再生します。
キャッチコピーの一部の言葉だけが、下から上へ順番に入れ替わります。
横に途切れなく流れ続ける帯。取引先ロゴやキーワードの帯に。マウスを乗せると減速します。
マウスの位置や出入りに反応する動き。プレビューの上でマウスを動かして確認できます。
マウスを近づけると、ボタンが吸い寄せられるように動きます。CTAボタンの印象づけに。
小さな点と、少し遅れてついてくる円のカーソル。リンクに乗ると円が大きくなります。
マウスの位置に合わせてカードが立体的に傾きます。実績カードやサービス紹介に。
ホバーで背景色が左から広がり、矢印が少し動きます。キーボード操作(フォーカス)でも同じ動きに。
一覧の行にマウスを乗せると、カーソルの位置に画像が浮かび上がります。実績一覧やニュース一覧に。
アコーディオンやメニューなど、サイトの部品にそのまま組み込める動き。キーボード操作やaria属性も入れています。
高さ auto までなめらかに開閉。CSSだけでは難しい「中身の高さに合わせた開閉」が簡単に書けます。
三本線が×に変わり、右上から円が広がってメニューが開きます。項目は時間差で登場。
背景が暗くなり、パネルが下から浮かび上がるモーダル。閉じるときもアニメーションします。
選んだタブへ下線がスライドし、パネルがふわっと切り替わります。
カテゴリーで絞り込むと、残ったカードがなめらかに移動して並び直します。実績一覧の絞り込みに。
ページを開いたときや切り替えるときの演出。
数字とバーが100%まで進み、幕が上がってページが現れます。
縦長の帯が時間差で画面を覆い、また開きます。ページを切り替えるときの演出に。
タイルが中央から波紋のように広がります。メインビジュアルの背景や区切りの演出に。
線を描く・形を変える・パスに沿って動かす。ロゴやアイコン、図解に使えます。
SVGの線が手書きのように描かれます。アイコン、図解、手書き風の下線などに。
スクロールに合わせて、ページを縦に貫く線が伸びていきます。沿革や制作の流れのページに。
円→星→ハートと、図形がなめらかに変形します。アイコンの状態変化やロゴの演出に。
曲線の上を、向きを変えながら進みます。紙飛行機やルート案内、図解の矢印に。
各サンプルの「読み込み」タブのタグを、</body> の直前、自分のJSより前に置きます。プラグインは使うものだけ読み込み、JSの先頭で gsap.registerPlugin() に登録します。
<script src="https://cdn.jsdelivr.net/npm/gsap@3.15.0/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.15.0/dist/ScrollTrigger.min.js"></script>npm でビルドする環境(Vite・Astro など)では、次のように読み込みます。
npm install gsap
// JS(ES Modules)
import { gsap } from 'gsap';
import { ScrollTrigger } from 'gsap/ScrollTrigger';
gsap.registerPlugin(ScrollTrigger);テーマの functions.php で wp_enqueue_script を使って読み込みます。第3引数の依存関係に 'gsap' を指定すると、読み込み順が保証されます。
function my_enqueue_gsap() {
$ver = '3.15.0';
$cdn = 'https://cdn.jsdelivr.net/npm/gsap@' . $ver . '/dist/';
wp_enqueue_script( 'gsap', $cdn . 'gsap.min.js', array(), $ver, true );
// 使うプラグインだけ読み込む(依存に 'gsap' を指定)
wp_enqueue_script( 'gsap-scrolltrigger', $cdn . 'ScrollTrigger.min.js', array( 'gsap' ), $ver, true );
// 自分のアニメーション用JS(テーマの /js/animation.js)
wp_enqueue_script(
'my-animation',
get_theme_file_uri( '/js/animation.js' ),
array( 'gsap', 'gsap-scrolltrigger' ),
filemtime( get_theme_file_path( '/js/animation.js' ) ),
true
);
}
add_action( 'wp_enqueue_scripts', 'my_enqueue_gsap' );gsap.from() は、JSが動くまでのあいだ要素が一瞬見えてしまうことがあります。気になる場合は、JSが動く環境だけCSSで隠しておき、gsap.to() で表示します。
/* JSが動く環境だけ、最初は隠しておく */
.js .js-fade { visibility: hidden; }// <head> の中で、できるだけ早く
document.documentElement.classList.add('js');
// 表示するときは from ではなく to で
gsap.to('.js-fade', { autoAlpha: 1, y: 0, duration: 0.8 });OSの「視差効果を減らす」「アニメーションを減らす」設定をオンにしている人には、大きな動きを止めるのが望ましいです。「PC・スマホ・動きを減らす設定で切り替え」のように gsap.matchMedia() で (prefers-reduced-motion: reduce) を判定できます。
アニメーションを取り入れたサイト制作や、WordPressテーマへの組み込みもご相談ください。
お問い合わせ arrow_forward