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

スクロールスパイ

stimeo--scrollspy

読んでいる位置に合わせて目次の現在地を移します。スクロールのたびに計算しません。

  • Core

いま読んでいるところに合わせて、目次のどの項目が現在地かを切り替えます。判定はブラウザに任せているので、スクロールのたびに計算が走ることはありません。現在地とみなすのは、上端が判定の線にいちばん近いセクションです。線の位置は、固定ヘッダの高さぶんだけ下げるといった調整ができます。どのセクションも判定の帯に入っていない間も、いちばん近いものを現在地のままにするので、目次の印が消えて迷子になりません。現在地は読み上げにも伝わります。利用側が自分で付けた印は消しません。

実行中

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 イベントを発火する。