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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...