attrip. Search
音楽

LATEST BEAT

すぐ使えるJavaScriptの動き・エフェクト8選|動きを見て選ぶ実演集

2026.07.24 · 5 MIN READ · 理解の記録

RECORD / 2026

動きの名前を知ると、デザインの選択肢が増える。

「なんか動かす」ではなく、「写真をマスクで現す」「カードを少し持ち上げる」「数値を増やす」と言えるようになる。最初に見るべき8個だけを、実際に動く見本にした。

まず見る8個の動き

動きは、何を動かすかで選ぶ。写真は「登場」、カードは「ホバー」、長い記事は「スクロール」、ボタンは「反応」、ロゴや小さな飾りは「待機」。

写真を見せるカードを選ばせる文章を読ませる押したと伝える空気をつくる

最初から、ゆっくり繰り返し動く。見本は一つの役だけを見せている。

写真:フェードイン

写真を静かに登場させる。

PHOTO

見出し:下から出る

文章の始まりを伝える。

新しい記録

写真:マスクで現れる

写真を一枚、印象的に見せる。

カード:少し持ち上がる

選べる場所を伝える。

READ
STORY

カード:3Dティルト

触れられる感じを足す。

TILT

進行:バーが伸びる

読み込み・手順を見せる。

LOADING

ボタン:波紋

押した反応を返す。

送る

ロゴ:ゆっくり浮く

待っている画面に空気を足す。

a.

ライブラリを知ると、できることが見える

プログラミングの知識がなくても、ここだけ分かれば選べる。

HTMLページの骨組み。見出し、写真、ボタンを置く。
CSS見た目。色、余白、そして短い動きも作れる。
JavaScriptきっかけ。「押したら」「画面に入ったら」を受け取る。
ライブラリ誰かが作った便利な道具箱。難しい動きを早く試せる。
Reactボタンやカードのような部品を組み立てて画面を作る方法。動きの道具そのものではない。

たとえば、ブログのボタンを少し沈めるだけならCSSだけで足りる。記事のカードを押したときに内容を開くならJavaScriptを足す。Reactは、アプリの画面を部品ごとに作りたいときの土台だ。Reactを知らなくても、この8個の動きは使える。

全部を自作しなくていい。ライブラリは「どんな動きが世の中にあるか」を知る図鑑にもなる。

  • Motion:Spring、レイアウト移動、スクロール、ドラッグ。Reactで画面の部品を自然につなげたいとき。
  • GSAP:タイムライン、SVG、複数要素の細かな演出。LPや作品ページで、順番と間を作り込みたいとき。
  • Lenis:なめらかなスクロール。スクロール演出の土台を整えたいとき。
  • Barba.js:ページをまたぐ切り替え。作品一覧から詳細へ入る流れをつなげたいとき。
  • Splide:スライド・カルーセル。写真や記事を横に見せたいとき。
  • Lottie:After Effectsで作った動きをWebへ持ち込む。アイコンや短い絵の動きに向く。
  • Three.js:3D、光、粒、立体の世界。ページ全体を作品として見せたいとき。

最初の順番は、CSSだけで一個作る → JavaScriptで再生のきっかけを足す → それでも足りないときだけライブラリを見る。React、GSAP、Three.jsを最初から覚える必要はない。

ライブラリを入れる目的は、派手にすることではない。「ここはスクロールで見せる」「ここはページをまたいでつなぐ」という選択肢を増やすことだ。名前が分かれば、ライブラリのデモを探せる。デモを見れば、自分のページに必要な一個を選べる。

最初の一個は用途で決める

目的最初に選ぶ動き
読ませたいフェードイン、スタッガー、スクロールリビール
押したと伝えたい押すと沈む、波紋、コピー完了
空気を作りたい浮く、光が横切る、粒が漂う
画面を切り替えたいアコーディオン、モーダル、タブ

見た目の動きはCSSに置き、JavaScriptはクリックや画面に入った瞬間を受け取る役にする。

JavaScript
const observer = new IntersectionObserver((entries) => {
  entries.forEach(({ isIntersecting, target }) => {
    if (isIntersecting) target.classList.add('is-visible');
  });
}, { threshold: 0.2 });
document.querySelectorAll('.reveal').forEach((el) => observer.observe(el));

端末で「視差効果を減らす」が選ばれているときは、装飾の動きを止める。MDN: prefers-reduced-motion も、不要な動きを減らす方法を案内している。

CSS
@media (prefers-reduced-motion: reduce) {
  .motion, .reveal { animation: none; transition: none; }
}

8個を見たあと、残すのは一個でいい。その一個に、ページで果たす役を持たせる。

コメントを残す