jQueryでサイドメニューに現在のセクション要素を表示する「DisplaySectionプラグイン」
jQueryでサイドメニューに現在のセクション要素を表示する「DisplaySectionプラグイン」を公開します。
ちなみにこのプラグインを使わなくてもBootStrapのScrollSpyというものが用意されていますが、とりあえず自作してみました。
1.サンプル
サンプルを用意しました。
サンプルをスクロールすると、通過するsection要素に対応するサイドメニューの該当項目を反転表示します。
2.プラグインのダウンロード
下記のリンクからプラグインをダウンロードして、ファイル名を「jquery.displaysection.js」にリネームしてください。
以下、設定方法です。
3.HTML
反転表示させたいサイドメニューを次のように記述します。
<ul>
<li><a href="#aaa">AAA</a></li>
<li><a href="#bbb">BBB</a></li>
<li><a href="#ccc">CCC</a></li>
<li><a href="#ddd">DDD</a></li>
<li><a href="#eee">EEE</a></li>
<li><a href="#fff">FFF</a></li>
</ul>
次に本文のsection要素を用意します。
<section id="aaa">...</section>
<section id="bbb">...</section>
<section id="ccc">...</section>
:
<section id="fff">...</section>
section要素のid属性値とa要素のhref属性値が対応するようにしてください。
4.JavaScript
JavaScriptは次のように記述します。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="jquery.displaySection.js"></script>
<script>
jQuery(function() {
jQuery('#foo').displaySection();
});
</script>
見出し要素を含む親要素に対してdisplaySection()を実行します。
5.オプション
displaySection()を実行時のオプションとして下記を用意しています。
- target:ターゲットにしたいコンテンツの親要素。デフォルトは「section」
- margin:要素間のマージン。値を増加させると、リンクの表示が切り替わる空白期間が少なくなります。デフォルトは「90」
オプションは次のように設定してください。
jQuery(function() {
jQuery('#foo').displaySection({
target: '#foo',
margin: 100
});
});
6.CSS
表示させるサイドメニューに対し、CSSを適宜設定してください。
ul {
position: fixed;
top:150px;
left:20px;
}
Posted by yujiro このページの先頭に戻る
- Ajaxのページ遷移でURLが変更できるjQueryプラグイン「PJAX」
- jQueryでページ分割ができる「SimplePaginationプラグイン」
- jQueryでスクロールでトップに「戻る」リンクを表示する「PageTop」プラグイン
- jQueryでテーブル幅を変更できる「jQuery Resizable Columnsプラグイン」
- jQueryで目次を自動生成する「tocプラグイン」
- jQuery.pjaxとjQuery.bottomを使ってSEO対策つきの無限スクロールを実装する
- jQueryでヘッダーに現在の見出し要素を表示する「DisplayHeadingプラグイン」
- JSONデータをHTMLにマッピングできるjQueryプラグイン「JSON2HTML」
- ローディング画面を簡単に表示できるjQueryプラグイン「BlockUI」
- スクロールしたときにおすすめ記事を右下からにゅるっと表示させるjQuery「RecommendFooterプラグイン」
- jQuery UI Tabsのタブ切替でブラウザの「戻る」「進む」を有効にする方法
- jQueryのAjaxやタブ切替などでブラウザの「戻る」「進む」が有効になる「hashchangeプラグイン」(実装解説つき)
- jQueryでcookieを簡単に使える「jQuery Cookie」のまとめ
- jQuery.uploadプラグインで親要素のonsubmitを起動させない対処
- スマホのマルチタッチジェスチャーを判断できるjQueryプラグイン「Hammer.js」
トラックバックURL
コメントする
greeting