スクロールスパイ

Scrollspy

スクロール位置に応じて、現在表示中のセクションに対応するナビゲーション項目を自動的にハイライトするUI。

○ 使う場面

  • 長い1ページ構成のドキュメントで、今どのセクションを読んでいるかをナビ側にも反映したいとき
  • サイドナビのクリックでスムーズスクロールし、以後は現在地を自動追従させたいとき

× 避ける場面

  • セクション自体が少なく、現在地の自動ハイライトの恩恵が小さいとき
  • 各セクションが独立したページで、そもそも1ページ内スクロールという前提が成り立たないとき(→タブやパンくずリスト)

別名

スクロールスパイ

近縁種との比較

「スクロールスパイ」という名前は、UIフレームワークBootstrapのコンポーネント名として広く知られるようになった呼称で、いまどのセクションが見られているかをこっそり見張る(spy)という語感に由来するとされる。

近縁種違い・使い分け
追従セクションスクロールスパイは追従セクションと同じ「長い記事のスクロールに連動する」挙動だが、追従セクションが要素そのものの画面上の位置を固定するのに対し、スクロールスパイは要素の位置は動かさずナビゲーション側のハイライト状態だけをスクロールに合わせて切り替える。両者は組み合わせて使われることも多い。
タブタブとは並列コンテンツの現在位置を示す点で似ているが、タブはクリックによる能動的な切り替えで1パネルしか表示しない離散的なナビゲーションであるのに対し、スクロールスパイは1ページ内に並んだ全セクションを連続的にスクロールし、ハイライトだけがスクロール位置に応じて自動的に追従する点で対照的である。

分類

機能・役割
  • ナビゲーション
  • 入力・操作
  • 表示・整理
  • フィードバック・状態
表示レイヤー
  • インライン
  • 固定・追従
  • オーバーレイ
  • 全画面・遷移
複雑さ
  • 単体パーツ
  • 複合パーツ
  • セクション