Bootstrap Scrollspy プラグイン (Advanced)

❮ 前章へ 次章へ ❯

Scrollspy プラグイン

Scrollspy プラグインは、スクロール位置に基づいて、ナビゲーションリストのリンクを自動的に 更新するような場合に使用します。


Scrollspy の作成方法

次の例は、scrollspy の作成方法を示しています:

<!-- The scrollable area -->
<body data-spy="scroll" data-target=".navbar" data-offset="50">

<!-- The navbar - The <a> elements are used to jump to a section in the scrollable area -->
<nav class="navbar navbar-inverse navbar-fixed-top">
...
  <ul class="nav navbar-nav">
    <li><a href="#section1">Section 1</a></li>
    ...
</nav>

<!-- Section 1 -->
<div id="section1">
  <h1>Section 1</h1>
  <p>Try to scroll this page and look at the navigation bar while scrolling!</p>
</div>
...

</body>
Try it Yourself »

例の説明

スクロール可能な領域として使用する要素(多くの場合、<body> 要素です)に、 data-spy="scroll" "を追加します。

次に、ナビゲーションバー(.navbar)の id の値、 またはクラス名を持つ data-target 属性を追加します。 これは、 navbar がスクロール可能な領域に接続されていることを確認するためです。

スクロール可能な要素は、navbar のリスト項目内のリンクの ID と一致しなければならないことに注意してください (<div id="section1"><a href="#section1"> に一致します)。

オプションの data-offset 属性は、スクロール位置を計算する際に先頭からのオフセットするピクセル数を指定します。 スクロール可能な要素にジャンプするときの、ナビゲーションバー内のリンクがアクティブ状態になるのが あまりにも早すぎると感じる場合に便利です。デフォルトは 10 ピクセルです。

配置が必要です:正常に動作させるには、data-spy="scroll" を持った要素に "relative" の値を持つ CSS position プロパティが必要です。


Scrollspy 縦型メニュー

この例では、メニューに Bootstrap 縦型ナビゲーションピルを使用します:

<body data-spy="scroll" data-target="#myScrollspy" data-offset="20">

  <div class="container">
    <div class="row">
      <nav class="col-sm-3" id="myScrollspy">
        <ul class="nav nav-pills nav-stacked">
          <li><a href="#section1">Section 1</a></li>
          ...
        </ul>
      </nav>
      <div class="col-sm-9">
        <div id="section1">
          <h1>Section 1</h1>
          <p>Try to scroll this page and look at the navigation list while scrolling!</p>
        </div>
        ...
      </div>
    </div>
  </div>

</body>
Try it Yourself »

完全な Bootstrap Scrollspy リファレンス

すべての scrollspy メソッドおよびイベントの完全なリファレンスは、 Bootstrap JS Scrollspy リファレンス をご覧ください。


❮ 前章へ 次章へ ❯