yuu_nkjm blog
2012-12-02(Sun) [長年日記]
[WordPress][JavaScript][jQuery] 見出しを目次にするスクリプト
jQuery Table of Contents Plugin
TOC | jQuery Table of Contents Pluginがなかなか良い感じ.
見出しに番号をつける
<script type="text/javascript">
// h2にナンバリング
jQuery(function() {
jQuery(".post-entry .chapterize h2").each(function(i) {
var current = jQuery(this);
var txt = current.text();
current.text((i+1)+". " +txt);
});
});
</script>
見だしを目次にする
h2とh3の入れ子関係の処理はしていない.見出しから目次を自動生成 & クリックで該当位置にスクロール(jQuery使用) | Stack Stack!を参考にカスタマイズした.
<script type="text/javascript">
//TOCの作成
jQuery(function(){
var elm = jQuery("<ul></ul>");
jQuery(".post-entry h2, .post-entry h3").each(function(i) {
var current = jQuery(this);
var tagName = current.get()[0].localName;
if(tagName == "h2"){
if(current.attr('id') === undefined){
current.attr("id", "chapter-" + i);
}
elm.append("<li><a href=#" + current.attr('id') + ">" + current.text() + "</a></li>");
} else if(tagName == "h3"){
if(current.attr('id') === undefined){
current.attr("id", "subchapter-" + i);
}
elm.append("<li style='list-style-type: none;'> <a href=#" + current.attr('id') + ">" + current.text() + "</a></li>");
}
});
jQuery(".table-of-contents").append(elm);
return false;
});
jQuery-Collapse
jQuery Collapse | webcloudを使うことにした.
目次の項目の折りたたみ
現在表示しているページに関するもの以外は,折りたたむ.jQueryで現在のページの所属しているサブメニューを開いた状態にする。 | webOpixel,jQueryで現在のファイル名を取得する方法 | PHPサンプル実験室を参考にした.
// TOCの折りたたみ
jQuery(function() {
var url = window.location;
jQuery('ul.nav li a[href="'+url+'"]').parent().addClass('active');
var path = url.href.split('/');
var file_name = path.pop();
file_name = file_name.split('#')[0];
jQuery(".reference a[href*='" + file_name + "']").addClass("selected-menu");
jQuery(".reference ol ol:has(a[href*='" + file_name + "'])").addClass("active");
});
</script>
activeクラスで表示を切りかえるCSSを用意しておく.
.reference ol ol{ display: none; } .reference ol ol.active { display: block; }
- https://www.google.co.jp/ ×30
- https://www.google.com/ ×3
- https://www.facebook.com/ ×2
- http://t.co/3DvGhEci ×2
- http://t.co/ncUQ7NLU ×1
- http://bit.ly/YM2lkl ×1
- wordpress 目次 見出し java ×2 / h2にナンバリング javascript ×2 / javascript 見出し ×1 / perl 見出し ナンバリング ×1 / JAVASCRIPT 見出し 目次 ×1 / TOC(jQuery Table of Contents Plugin) 使い方 ×1 / jquery.collapse 開いた状態 ×1 / 入れ子のリストを jQueryでカレント表示する ×1 / javascript jQuery 見出し番号 ×1 / perl ナンバリング 見出し ×1 / javascript h2 ナンバリング ×1 / JavaScript 見出し 目次 ×1 / ナンバリング H2 ×1 / ブログ 目次 JavaScript ×1 / javascript 見出し メニュー ×1