ナビゲーション・バーにおけるスクロールスパイ
ページ内リンク用ナビゲーション・バーにおけるスクロールスパイ使用方法。
body
要素のdata-spy
属性に、scroll
を指定する。body
要素のdata-target
属性に、スクロールに連動させたいナビゲーション・バーのid
属性値やclass
属性値を指定する。- ナビゲーション・バーをトップに固定表示した場合、ナビゲーション・バーの高さ分程の、ウィンドウ上部からのオフセット距離を、ピクセル単位でdata-offsetオプションに指定する。
サンプル
ソースコード
HTML
<body role="document" data-spy="scroll" data-target="#sampleScrollSpy" data-offset="72" id="top"> <div id="sampleScrollSpy"> <nav class="navbar navbar-default navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#sampleNavbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand linkInThePage" href="#top"> タイトル </a> </div> <div class="collapse navbar-collapse" id="sampleNavbar"> <ul class="nav navbar-nav"> <li><a class="linkInThePage" href="#sampleA">ページ内リンクA</a></li> <li><a class="linkInThePage" href="#sampleB">ページ内リンクB</a></li> <li><a class="linkInThePage" href="#sampleC">ページ内リンクC</a></li> </ul> <p class="navbar-text navbar-right">これはサンプル。</p> </div> </div> </nav> </div> <div class="jumbotron"> <div class="container"> <h1>サンプル</h1> <p><a href="../javascript/scrollspy-navbar.html" target="_blank">スクロールスパイを使うページ内リンクのトップ固定ナビゲーション・バー</a>のサンプル。</p> </div> </div> <div class="container"> <h2 id="sampleA">A</h2> <ol> <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li> <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li> <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li> </ol> <h2 id="sampleB">B</h2> <ol> <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li> <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li> <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li> </ol> <h2 id="sampleC">C</h2> <ol> <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li> <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li> <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li> </ol> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> <script src="http://foo.tld/jquery/animatescroll.js-master/animatescroll.noeasing.js"></script> <script> $( function() { $('.linkInThePage').click( function () { var hrefValue = jQuery(this).attr( 'href' ); $(hrefValue).animatescroll({padding:70}); } ); } ); </script> </body>