JS自動生成博文目錄---針對博客園BOOK皮膚

来源:http://www.cnblogs.com/lanleiming/archive/2016/04/22/5421684.html
-Advertisement-
Play Games

說明 最近看到許多博主的頁面特別漂亮,都有目錄導航,方便大家閱讀瀏覽。於是一搜索,發現已經有很多相應的教程《JS自動生成博文目錄》。 但是沒有一個針對BOOk皮膚的,比較喜歡這個皮膚,那就自己動手實現一個咯。 具體代碼就不做過多介紹了,其他博主已經介紹的很仔細咯。 HTML代碼 CSS代碼 JS代碼 ...


說明

      最近看到許多博主的頁面特別漂亮,都有目錄導航,方便大家閱讀瀏覽。於是一搜索,發現已經有很多相應的教程《JS自動生成博文目錄》。

      但是沒有一個針對BOOk皮膚的,比較喜歡這個皮膚,那就自己動手實現一個咯。

      具體代碼就不做過多介紹了,其他博主已經介紹的很仔細咯。      

HTML代碼 

<div id="sideBar">
   <div id="sideBar_title">文章目錄</div>
   <div id="siderBar_contents" style="display:none">     
   </div>
</div>

CSS代碼 

 #sideBar{
            position:fixed;
            left:0;
            top:50;
            width:auto;
            height:auto;
            z-index:999;
            cursor:pointer;
        }
 #sideBar_title{
            float:left;
            width:40px;
            border-radius:0 15% 10% 0;
            text-align:center;
            font-weight:bold;
            color:white;
            font-size:23px;
            background-color:#93c8a2;
        }
 #siderBar_contents{
            float:left;
            margin-left:10px;
            max-width:300px;
            min-width:200px;
            background-color:#93c8a2;
            min-height:200px;
            opacity:0.9;
            font-size:16px;
            color:white;
            border-radius:5%;
            text-indent: 1em;
            line-height: 1.5em;
        }
#siderBar_contents a{
            color:white;
            text-decoration:none;
        }
#siderBar_contents a:hover{
            text-decoration:underline;
        }
#cnblogs_post_body h2,h3{
   background-color: #93c8a2;
   color:white;
   border-radius:2%;
   text-indent: 0.8em;
}

JS代碼

 

 var sideBar = document.getElementById('sideBar');
 var sideBar_title = document.getElementById('sideBar_title');
 var siderBar_contents = document.getElementById('siderBar_contents');
 sideBar.onmouseover = function(){
      siderBar_contents.style.display = 'block';
 }
 sideBar.onmouseout = function(){
      siderBar_contents.style.display = 'none';
}
var h_list = document.querySelectorAll('#cnblogs_post_body h2,h3,h4,h5'); var str='<dl>'; if(h_list.length==3){ sideBar_title.style.display = 'none'; } for(var i=0; i< h_list.length;i++){ if('導航統計公告'.indexOf(h_list[i].innerHTML)>-1){ continue; } if(h_list[i].nodeName.toLocaleLowerCase()=='h2'){ str +='<dt><a href="#'+i+'">'+h_list[i].innerHTML+'</a></dt>' }else{ str +='<dd><a href="#'+i+'">'+h_list[i].innerHTML+'</a></dd>' } //對原先的h標簽,增加id值 h_list[i].id = i; } str+='</dl>'; siderBar_contents.innerHTML=str;

參考文章:

http://www.cnblogs.com/xdp-gacl/p/3718879.html 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 關於排序問題,第一次看教程/書的時候都是迷迷糊糊的感覺,看完就忘記了。等到看第二遍的時候,才發現自己其實沒有掌握該知識點,其實這些在網上都能搜到,但是只有自己親自整理才會有比較深刻的印象。前面還有許多問題沒有寫在博客上,以後視情況添加。 關於JS的sort()方法和reverse()方法是可以直接用 ...
  • 按鈕組也是一個獨立的組件,所以可以找到相應的源碼文件: Less:buttons.less Sass:_buttons.scss Css:Bootstrap.css 3131行~3291行 按鈕組和下拉菜單組件一樣,需要依賴於button.js插件才能正常運作。 結構方面:使用一個類名為btn-gr ...
  • 從IE9開始DOM開始支持支持CSS的選擇器了,DOM提供了兩個介面 querySelector 得到一個DOM querySelectorAll 得到一組DOM 一個個的解釋這些選擇器也沒有必要,我們結合前面的數組知識,寫一段代碼來說明。頁面上有一組元素,然後會依據我們數組中的預訂選擇值選擇相應元 ...
  • 一、Firebug工具簡介 firebug是firefox下的一款開發類插件。firebug集html查看和編輯,JavaScript控制台,網路狀況監視器於一體,是開發JavaScript,css,html和ajax的得力助手。 YSlow是插件。 二、Firebug應用 1、禁用標簽 下拉菜單啟 ...
  • 有相互引用關係的js,要最後執行的方法所在的js 先被引用。 a.js 中有function1 b.js 中有function2 function1 () { function2(){} } 要 <script src="b.js"></script> <script src="a.js"></sc ...
  • 對象:一切事物皆是對象。對象是一個整體,對外提供一些操作。比如說一個收音機是一個對象,我們不需要知道它的內部結構是什麼,只需要會使用外部的按鈕就可以使用收音機。 面向對象:面向對象語言的標誌是他們都有類的概念,通過類可以創建任意多個具有相同屬性的方法的對象。任何對象都是某一類事物的實例,簡單的說就是 ...
  • 讓網頁的寬度自適應屏幕<meta name="viewport" content="width=device-width"/> 1)html上加入<meta name="viewport" content=" initial-scale=1.0,user-scalable=no" /> 發確保網頁的 ...
  • 效果查看:http://hovertree.com/texiao/html5/30/ 使用HTML5的canvas畫的孫悟空,CSS3畫的白雲飄飄。 剛擒住了幾個妖 又降住了幾個魔 魑魅魍魎怎麼他就這麼多 (嘿嘿!吃俺老孫一棒!) 效果圖:代碼如下: 轉自:http://hovertree.com/ ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...