Bootstrap3
日本語リファレンス

広告

JavaScriptでスクロールスパイを呼び出す


スクロールスパイをJavaScriptで呼び出す方法。

構文
$('セレクター1').scrollspy({ target: 'セレクター2' });

「セレクター1」には、スクロールする要素を指定する。

「セレクター2」には、連動させたいナビゲーションを指定する。

サンプル
ソースコード
<body role="document" 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">JavaScriptでスクロールスパイを呼び出す</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});
			} );
		} );
		$('body').scrollspy({ target: '#sampleScrollSpy', offset: 71 });
	</script>
</body>

広告