コンポーネント
← すべてのコンポーネント

スクロールスパイ

stimeo--scrollspy

IntersectionObserver を利用した高効率な交差監視と、ページ上端の最寄セクションを優先判定する目次(TOC)同期システム。

stimeo--scrollspy コントローラは、ドキュメントのスクロール位置に応じて目次リンクのアクティブ状態を自動同期させます。軽量な IntersectionObserver API を活用することで、スクロール中のイベントハンドラを登録せず、レンダリングパフォーマンスに影響を与えない極めて高いスクロール効率を誇ります。複数のセクションが同時にビューポートに交差している場合でも、トリガーライン(offsetの値)に最も近い上端寄りのセクションを「現在地」として正確に優先判定するアルゴリズムを備え、アクティブなアンカーリンクへ aria-current="location" を自動付与・管理します。

実行中

1. はじめに

このセクションはドキュメントの「はじめに」を説明します。スクロールすると目次のアクティブ状態が追従します。

2. 使い方

スクロールスパイのセットアップは、navタグに data-controller="stimeo--scrollspy" を指定し、各見出しに data-stimeo--scrollspy-target="link" を指定するだけです。

3. APIリファレンス

オプションの offset-value や root-margin-value をカスタマイズすることで、アクティブ判定のトリガーラインをミリピクセル単位で微調整可能です。

キーボード操作

キー動作
Scroll ページスクロールに応じて、目次の該当アンカーリンクに aria-current="location" が自動付与され、stimeo--scrollspy:change イベントを発火する。