カレントセクション

スクロールすると、ビューポート中央付近に入ったセクションに応じてナビ項目に is-current-section が付きます。

概要

このデモでは、_nav-current-section.js により、監視対象のセクション(.js-section)がビューポート中央付近に入ったタイミングで、対応するナビ項目(data-section-id)に is-current-section クラスが付与されます。

特徴

IntersectionObserver API を使用しており、rootMargin: '-50% 0px' により「画面中央付近」を基準にカレントを判定しています。長いページや LP のナビで「今どのブロックにいるか」をハイライトする用途に向いています。

料金

セクション側には class="js-section"id を、ナビ側の li には data-section-id="セクションのid" を付与してください。同一ページ内に .js-section が1つもない場合はスクリプトは何も実行しません。

お問い合わせ

カレント表示の見た目は CSS で自由に調整できます。このデモではナビリンクに下線と太字を付けています。必要に応じて .is-current-section 用のスタイルを追加してください。