← 一覧へ

やってみよう記事をスクロールして、上の目次の色が移っていく様子を見てください。目次を押すとその場所へ飛びます

ナビゲーションマイナー(知る人ぞ知る)

スクロールスパイ

Scroll Spy / Active Table of Contents

記事をスクロールすると、目次のうち「今読んでいる見出し」に色が付いていく。

別名目次ハイライト現在地ハイライトアクティブ目次追従目次

どこで使われている?

よく見かける場所
技術ドキュメント、Wikipedia、長い説明ページ
使うとよい場面
目次がある長いページで、今どこを読んでいるかを示したいとき
避けたい場面
短いページ、スマホの狭い画面で目次が大きく場所を取るとき

AIへの指示文

これをコピーしてAIに貼り付ければOKです。Webサイトを作る前提の内容です(右上の「何を作る?」で変えられます)。

HTML / CSS / JavaScript で「スクロールスパイ(Scroll Spy / Active Table of Contents)」を実装してください。

動き:記事の目次を上部(またはサイド)に固定表示し、スクロールして画面に入っている見出しに合わせて、目次の該当項目を強調する。目次の項目を押すと、その見出しまでなめらかにスクロールする。

使う部品:IntersectionObserver で見出しを監視
もっと詳しく:プログラムでの部品名

同じ動きでも、作るものによってプログラムの中での部品の名前が違います。上の指示文にはすでに入っているので、覚える必要はありません。AIの説明に出てきた単語を確認したいときに使ってください。

WebサイトならIntersectionObserver で見出しを監視
iPhoneアプリならScrollViewReader + 見出しの表示位置を監視して自作
AndroidアプリならLazyListState.firstVisibleItemIndex を見て自作
Flutterならscrollable_positioned_list パッケージ
React NativeならFlatList の onViewableItemsChanged