メニュー

スクロールスパイは、特定の要素を追跡し、ユーザーの画面が現在中心に表示されている要素を追跡する jQuery プラグインです。これにまつわる私たちの主なデモは、あらゆるドキュメントページにある、右側の目次にあります。これらのリンクをクリックすると、ページがスクロールされてその要素に移動します。


  <div class="row">
    <div class="col s12 m9 l10">
      <div id="introduction" class="section scrollspy">
        <p>Content </p>
      </div>

      <div id="structure" class="section scrollspy">
        <p>Content </p>
      </div>

      <div id="initialization" class="section scrollspy">
        <p>Content </p>
      </div>
    </div>
    <div class="col hide-on-small-only m3 l2">
      <ul class="section table-of-contents">
        <li><a href="#introduction">Introduction</a></li>
        <li><a href="#structure">Structure</a></li>
        <li><a href="#initialization">Intialization</a></li>
      </ul>
    </div>
  </div>
        

初期化


  document.addEventListener('DOMContentLoaded', function() {
    var elems = document.querySelectorAll('.scrollspy');
    var instances = M.ScrollSpy.init(elems, options);
  });

  // Or with jQuery

  $(document).ready(function(){
    $('.scrollspy').scrollSpy();
  });
        

オプション

名前 タイプ デフォルト 説明
throttle 数値 100 スクロールハンドラーのスロットル。
scrollOffset 数値 200 スクロールされる要素の中心を合わせるためのオフセット。
activeClass 文字列 'active' アクティブな要素に適用されるクラス。
getActiveElement 関数 アクティブな要素を検索するために使用されます。

getActiveElement
これは、id がスクロールスパイ要素の id である、アクティブな要素を検索するために使用されるデフォルト関数です。アクティブとしてマークする要素の CSS セレクターを返します。

  function(id) {
    return 'a[href="#' + id + '"]';
  }
        

メソッド

jQuery がもはや依存関係ではなくなったので、メソッドはすべてプラグインインスタンスに対して呼び出されます。以下のようにプラグインのインスタンスを取得できます


  var instance = M.ScrollSpy.getInstance(elem);

  /* jQuery Method Calls
    You can still use the old jQuery plugin method calls.
    But you won't be able to access instance properties.

    $('.scrollspy').scrollSpy('methodName');
  */
          
.destroy();

プラグインインスタンスを破棄してクリーンアップ


instance.destroy();
        

プロパティ

名前 タイプ 説明
el 要素 プラグインが初期化された DOM 要素。
options オブジェクト そのインスタンスが初期化されたオプション。