ページトップへ戻るボタン

UI コンポーネント Easy #js #scroll #nav #back-to-top

ページを下にスクロールすると右下にふわっと現れる「 トップへ戻る 」ボタンです。長い縦長ページで読者が最上部に戻りやすくし、離脱を減らす定番の UX 補助パーツです。 動きは軽量な JavaScript で制御しています。

▶ プレビュー

解説

ページを下にスクロールすると右下にふわっと現れる「トップへ戻る」ボタンです。長い縦長ページで読者が最上部に戻りやすくし、離脱を減らす定番の UX 補助パーツです。

動きは軽量な JavaScript で制御しています。scroll イベントで window.scrollY を監視し、スクロール量が 200px を超えたらボタンに is-shown クラスを付けて表示、それ未満なら外して隠します。初期状態は opacity:0pointer-events:none で見えず押せない状態にしておき、表示時にだけ反応するようにしています。クリックすると scrollTobehavior:"smooth" でなめらかに最上部へ戻ります。position:fixed なので常に画面の右下に固定されます。

使う場面とカスタマイズ

  • 記事本文が長いブログ・オウンドメディアやFAQページ
  • 商品が縦に続く一覧ページや、長い利用規約ページ
  • 出現するスクロール量(200)や位置 bottom/right、ボタン色を調整

矢印記号の代わりにアイコン SVG を入れても構いません。aria-label を付けてあるので読み上げ環境でも用途が伝わります。スムーズスクロールを避けたい利用者には prefers-reduced-motion で瞬時移動に切り替えると親切です。

使用例・適したシーン

  • 長文記事ページ
  • ワンページ LP
  • ドキュメントサイト

よくある質問

ボタンが現れるタイミングを変えるには
JavaScript 内でスクロール量のしきい値を 200 にしています。この数値を書き換えると表示タイミングが変わり、小さくすると早めにボタンが現れます。
スクロールがカクつかないか心配です
scrollイベントは頻繁に発火するため、処理が重いと負荷になります。このサンプルはクラスを付け外しするだけなので軽量です。さらに最適化するならrequestAnimationFrameやスクロール間引きを併用すると安心です。
追加日:2026-05-11
← すべてのスニペットへ戻る