添加目錄
可以按照下述步驟來添加閱讀目錄,可以根據喜好進行目錄樣式的定制
申請開通js權限
管理 => 設置 =>申請JS權限,注明用途,等待審核通過,一般一個小時之內會完成審核
添加HTML(JS)到頁腳
點擊保存,然后按照規定的格式設置二級標題,三級標題即可自動生成閱讀目錄
JS腳本
1 <script language="javascript" type="text/javascript"> 2 // 生成目錄索引列表 3 // ref: http://www.cnblogs.com/wangqiguo/p/4355032.html 4 // modified by: zzq 5 function GenerateContentList() 6 { 7 var mainContent = $('#cnblogs_post_body'); 8 var h2_list = $('#cnblogs_post_body h2');//如果你的章節標題不是h2,只需要將這里的h2換掉即可 9 10 if(mainContent.length < 1) 11 return; 12 13 if(h2_list.length>0) 14 { 15 var content = '<a name="_labelTop"></a>'; 16 content += '<div id="navCategory" style="color:#152e97;">'; 17 content += '<h1 style="font-size:16px;background: #f68a33;border-radius: 6px 6px 6px 6px;box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5);color: #FFFFFF;font-size: 17px;font-weight: bold;height: 25px;line-height: 25px;margin: 18px 0 !important;padding: 8px 0 5px 30px;"><b>閱讀目錄</b></h1>'; 18 content += '<ol>'; 19 for(var i=0; i<h2_list.length; i++) 20 { 21 var go_to_top = '<div style="text-align: right;"><a href="#_labelTop" style="color:#f68a33">回到頂部</a><a name="_label' + i + '"></a></div>'; 22 $(h2_list[i]).before(go_to_top); 23 24 var h3_list = $(h2_list[i]).nextAll("h3"); 25 var li3_content = ''; 26 for(var j=0; j<h3_list.length; j++) 27 { 28 var tmp = $(h3_list[j]).prevAll('h2').first(); 29 if(!tmp.is(h2_list[i])) 30 break; 31 var li3_anchor = '<a name="_label' + i + '_' + j + '"></a>'; 32 $(h3_list[j]).before(li3_anchor); 33 li3_content += '<li><a href="#_label' + i + '_' + j + '"style="font-size:12px;color:#2b6695;">' + $(h3_list[j]).text() + '</a></li>'; 34 } 35 36 var li2_content = ''; 37 if(li3_content.length > 0) 38 li2_content = '<li><a href="#_label' + i + '"style="font-size:12px;color:#2b6695;">' + $(h2_list[i]).text() + '</a><ul>' + li3_content + '</ul></li>'; 39 else 40 li2_content = '<li><a href="#_label' + i + '">' + $(h2_list[i]).text() + '</a></li>'; 41 content += li2_content; 42 } 43 content += '</ol>'; 44 content += '</div><p> </p>'; 45 content += '<hr />'; 46 if($('#cnblogs_post_body').length != 0 ) 47 { 48 $($('#cnblogs_post_body')[0]).prepend(content); 49 } 50 } 51 } 52 53 GenerateContentList(); 54 </script>
可定制內容
第18行和第43行是捉對定義目錄列表有序無序的內容參數,第38行也有類似的參數,可以自行定義
ol //無序 ul //有序
代碼中的color屬性都可以自行進行定義,
可以參考:
CSS屬性是就近原則的,所以完全可以自己進行定制
添加CSS
同樣進入博客園后台設置界面,在頁面定制CSS代碼 輸入框輸入如下信息
CSS腳本
<style type="text/css"> #cnblogs_post_body { color: black; font: 0.875em/1.5em "微軟雅黑" , "PTSans" , "Arial" ,sans-serif; font-size: 16px; } #cnblogs_post_body h2 { background: #2B6695; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微軟雅黑" , "宋體" , "黑體" ,Arial; font-size: 17px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } #cnblogs_post_body h3{ background: #2B6600; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微軟雅黑" , "宋體" , "黑體" ,Arial; font-size: 13px; font-weight: bold; height: 24px; line-height: 23px; margin: 12px 0 !important; padding: 5px 0 5px 50px; text-shadow: 2px 2px 3px #222222; } #cnblogs_post_body a { color: #21759b; transition-delay: 0s; transition-duration: 0.4s; transition-property: all; transition-timing-function: linear; } #cnblogs_post_body a:hover{ margin-left: 20px } #navCategory a{ display: block; transition:all 1s; } #navCategory a:hover{ margin-left: 20px } #blog-sidecolumn a{ display: block; transition:all 1s; } #blog-sidecolumn a:hover{ margin-left: 20px } #sidebar_toptags li a{ float:left; } #TopViewPostsBlock li a{ margin-left: 5px; } #cnblogs_post_body a{ display: block; transition:all 1s; } </style>
效果圖
參考資料