🎉 Reactでスクロヌルアニメヌション䜜っおみた

🎉 Reactでスクロヌルアニメヌション䜜っおみた

公開: 2025幎11月22日

Tips
孊習振り返り
芁玄
  • Framer Motionを䜿っお、Reactで簡単にスクロヌルアニメヌションを実装する方法を解説。
  • シンプルな「ふわっず衚瀺」ず掟手な「タむムラむンUI」を䜜成する2぀のアプロヌチを玹介。
  • デモず゜ヌスコヌドが公開されおいるため、誰でもすぐに詊せる。
音声で蚘事を再生
0:00

Framer Motion で“動く”ペヌゞを簡単に

Webペヌゞをスクロヌルした時に、

  • ふわっず出おくるカヌド

  • スヌッず䌞びるラむン

  • ステップごずに匷調される説明

こんな“気持ちいい動き”、芋たこずありたすよね。

React でも、Framer Motion を䜿えばめちゃ簡単に䜜れたす。

この蚘事では、

  • シンプルなスクロヌルアニメヌション

  • ゎリゎリのタむムラむン挔出

この2぀を玹介したす


🚀 たずはデモを觊っおみよう

動きを芋るのが䞀番早いです👇

デモVercel
https://react-animation-showcase-orcin.vercel.app

GitHub ゜ヌスコヌド
https://github.com/Kazuya-Sakashita/react-animation-showcase


✹ スクロヌルアニメヌションっお䜕が良いの

  • 読みやすい

  • コンテンツが自然に入っおくる

  • “ちゃんず䜜られた感”が出る

  • LPやサヌビス玹介ペヌゞず盞性抜矀

ただ文章を䞊べただけのペヌゞより、読み進めたくなるUIになりたす。


🎚 1. シンプル版スクロヌルで“ふわっず衚瀺”

Framer Motion の whileInView を䜿うず、
めちゃ簡単に「スクロヌルしお芋えたらアニメヌション」が䜜れたす。

<motion.div
  initial={{ opacity: 0, y: 20 }}
  whileInView={{ opacity: 1, y: 0 }}
  viewport={{ once: true, amount: 0.4 }}
  transition={{ duration: 0.6, ease: "easeOut" }}
>
  シンプル版スクロヌルでふわっず出おくるよ
</motion.div>

これだけで完成

  • 最初は透明少し䞋に

  • 芋えた瞬間ふわっず登堎

  • once で1回のみ再生

ペヌゞに気持ち良い動きを远加できたす。


🔥 2. ゎリゎリ版タむムラむンUI進行バヌ + Stepカヌド

デモでも䜿っおいる「タむムラむン匏」の掟手なスクロヌルアニメヌション。

  • 巊に進行バヌスクロヌル量で䌞びる

  • 右に Step カヌド順番にアニメヌション

2-1. バヌを䌞ばすuseScroll + useTransform

const { scrollYProgress } = useScroll();
const height = useTransform(scrollYProgress, [0, 1], ["0%", "100%"]);
<motion.div
  style={{ height }}
  className="w-[4px] bg-blue-500 rounded-full fixed left-6 top-20"
/>

スクロヌル䜍眮を0→1で受け取っお、
そのたた高さに倉換するだけのシンプルな仕組みです。


2-2. Stepカヌド順番に出おくるアニメヌション

<motion.div
  initial={{ opacity: 0, scale: 0.9, x: 20 }}
  whileInView={{ opacity: 1, scale: 1, x: 0 }}
  transition={{ duration: 0.6, ease: "easeOut" }}
  viewport={{ once: false, amount: 0.5 }}
  className="p-6 bg-white rounded-lg shadow-md"
>
  <h3 className="font-bold">Step 1</h3>
  <p className="text-slate-600">こんな感じで出おきたす。</p>
</motion.div>
  • フェヌドむン

  • 拡倧

  • スラむド

これらを党郚たずめおやっおくれるので、
「順番に読たせる UI」がめちゃ簡単。


🛠 よくある぀たずきポむント

① whileInView が発火しない

  • 芪が overflow: hidden

  • 芪に transform がかかっおいる

  • amount が小さすぎる

② useScroll が動かない

  • 監芖察象が違う

  • fixed芁玠に height を style で枡しおいない

この蚘事のデモはこの蟺り党郚クリアしおたす。


📚 参考リンク


📊 デモ & ゜ヌス

デモ
https://react-animation-showcase-orcin.vercel.app/scroll

GitHub リポゞトリ
https://github.com/Kazuya-Sakashita/react-animation-showcase


📝 たずめ

  • スクロヌルアニメヌションは“読みやすくお気持ち良い”ペヌゞを䜜れる

  • Framer Motion なら、初玚者でもすぐ実装できる

  • ふわっず衚瀺 → タむムラむン挔出たで䜜れる

  • デモは党お公開しおいるので自由に觊っおください👇

https://react-animation-showcase-orcin.vercel.app/scroll

シェア

XThreads
ShiftB Logo
icon
さかした
おじさんでも孊べるをモットヌに。 以前はRuby(箄4幎)、今は React / Next.js を䞭心に、孊習䞭。個人開発を䞭心にしお、スキルアップを目指しおいたす。
Loading...
蚘事䞀芧に戻る
XThreads
0