精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

熱門文章

最新文章

Bootstrap框架動態生成Web頁面文章內目錄的方法

發布時間:2021-06-22 15:26:45

引言
在寫博客的時候,為了條理性起見,經常會使用許多小標題,當文章長時,需要來回在不同的標題之間穿梭,如果手動添加目錄,添加錨點,實在是麻煩,為此,可以動態生成一塊目錄區域,并使用Bootstrap提供的Affix插件將目錄區域固定在頁面上。Bootstrap文檔便使用了它

準備工作-引入bootstrap.min.js
將bootstrap.min.js放入body之前的script標簽中,uikit.min.js暫時不引入。
引入相關插件之后,我們的思路是首先根據文章自動生成錨點以及菜單內容,隨后為其添加Affix產生固定效果,再使用uikit的scrollSpy插件(bootstrap中也有scrollspy,使用方法幾乎一致)。

引-學習Affix的使用
Affix插件尅幫助我們固定導航部分的位置,并且根據用戶的滾動情況來為固定的元素增加垂直偏移量,使得nav在三個類之間進行切換:
1.affix-top:表示在頂端
2.affix:表示在頁面滾動,增加fixed屬性,同時使用自定義的offset偏移量
3.affix-bottom:表示到達最底端

啟用Affix只需要以下代碼:

$('#nav').affix({
  offset: {
          top:$('header').offset().top,
      bottom: ($('footer').outerHeight(true) + 
        $('.application').outerHeight(true)) + 40
    }
});

一、組織HTML代碼部分

<ul id="mysidebar" class="nav affix" >
</ul>

一定要注意為ul添加nav和affix類。

二、生成封裝代碼
將本代碼段引入到你自己的script腳本中

;$.fn.extend({
   "createAffix": function(selector) {
     $list = $("" + selector),
       length = $list.length,
       affixValue = "";
     for (var i = 0; i < length; i++) {
       //給每一個標題增加name屬性
       $list.eq(i).attr("id", ("node" + i));
       var text = $list.eq(i).text();
       if (i == 0) {
         affixValue += "<li><a href=#node" + i + " class='active' >" + text + "</a></li>";
       } else {
         affixValue += "<li><a href=#node" + i + ">" + text + "</a></li>";
       }
     }
     this.append(affixValue);
     this.affix({
       offset: {
         top: this.offset().top//在固定之后距離頂部的偏移量
       }
     });
     return this;
   }
 
});

上述代碼的原理是為createAffix函數傳入需要被認為是標題單元的標簽或者類,在遍歷過程中為其增加錨點鏈接。

三、使用方法
書寫HTML部分

<ul id="mysidebar" class="nav affix" >
<li><a href="#node1"></a></li>
<li><a href="#node2"></a></li>
<li><a href="#node3"></a></li>
</ul>
 
<h3 id="node1">標題1</h3>
<h3 id="node2">標題2</h3>
<h3 id="node3">標題3</h3>

書寫Javascript部分

$(function(){
$(' #mysidebar').createAffix('h3');
//表示在文章中,使用`h3`標簽的是 需要被添加錨點的地方。
});

解決錨點偏移的問題
因為錨點默認將頁面偏移到錨點元素的頂部,也就是如果我們對標題1進行了上述操作,當我們點擊錨點時,頁面會偏移到'標題1'所在的頂端位置,如果頂端有菜單欄,那么將會被遮住,通過設置css樣式來解決。

.class{
    /*
    添加padding可以讓錨點向下偏移num px,也就是跳過菜單欄的高度,
    通過設置margin-top為負值來`彌補`因為padding-top帶來的空白部分
    */
    padding-top: num px;
    margin-top: -num px;
}

添加滾動監聽
目前我們的DOM文檔是這樣的。

<ul id="mysidebar" class="nav affix" >
<li><a href="#node1"></a></li>
<li><a href="#node2"></a></li>
<li><a href="#node3"></a></li>
</ul>

加工一下,引入uikit屬性,具體查看文檔

<ul id="mysidebar" class="nav affix uk-nav uk-nav-side" data-uk-scrollspy-nav="{closest:'li',smoothscrool:true}" >
<li><a href="#node1"></a></li>
<li><a href="#node2"></a></li>
<li><a href="#node3"></a></li>
</ul>

引入uikit.min.js
由于我們的菜單項(li)是在文檔加載后執行的,那么如果在生成菜單項之前變執行uikit的scrollspy,那么必定不起作用,所以要在菜單項生成后引入uikit.min.js,代碼如下:

$(function(){
$(' #mysidebar').createAffix('h3');//生成菜單
$.getScript("uikit.min.js");//異步載入uikit.min.js,滾動監聽生效。
});


返回頂部
精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

      9000px;">

          国产精品一二三在| 精品一区二区三区在线观看 | 久久成人精品无人区| 午夜亚洲国产au精品一区二区| 欧美日韩在线一区二区| 欧美另类一区二区三区| 日韩欧美国产麻豆| 久久婷婷久久一区二区三区| 国产亚洲女人久久久久毛片| 国产精品久久久久久久午夜片| 一区二区三区欧美在线观看| 日本午夜一本久久久综合| 国产一区二区三区精品欧美日韩一区二区三区 | 狠狠色丁香婷婷综合| 国产高清不卡二三区| 97精品久久久午夜一区二区三区| 一本大道久久a久久综合婷婷| 国产成人免费9x9x人网站视频| 97精品国产97久久久久久久久久久久| 精品视频免费在线| 国产亚洲综合av| 国产欧美一区二区三区在线看蜜臀| 一区免费观看视频| 视频一区免费在线观看| 成人av在线资源网| 在线播放亚洲一区| 国产精品毛片高清在线完整版| 午夜在线成人av| www.综合网.com| 欧美二区三区91| 中文字幕在线不卡一区| 免费的成人av| 91理论电影在线观看| 777色狠狠一区二区三区| 国产精品女同一区二区三区| 亚洲激情校园春色| 国产精品996| 91精品国产品国语在线不卡| **欧美大码日韩| 精彩视频一区二区| 制服丝袜亚洲播放| 一级日本不卡的影视| 丁香六月综合激情| 久久久久久久久久看片| 亚洲国产中文字幕| 91美女福利视频| 日本一区二区综合亚洲| 黄色日韩网站视频| 日韩欧美一二三四区| 亚洲午夜久久久久久久久久久| 成人av网站在线| 国产精品素人视频| 国产91丝袜在线18| 国产亚洲女人久久久久毛片| 夜夜嗨av一区二区三区网页| 国产福利一区在线观看| 久久色在线观看| 国内精品国产三级国产a久久| 91精品国产免费| 日韩精品成人一区二区三区| 欧美精选午夜久久久乱码6080| 亚洲精品成人悠悠色影视| 99久久精品国产精品久久| 日本一区二区成人在线| 成人午夜短视频| 国产精品不卡视频| 成人黄色片在线观看| 国产色综合一区| 国产精品一区二区免费不卡| 欧美tickling挠脚心丨vk| 亚洲最新视频在线观看| 日本亚洲视频在线| 色婷婷一区二区三区四区| 欧美在线制服丝袜| 国产精品一区2区| 久久精品国产成人一区二区三区| 紧缚奴在线一区二区三区| 欧美亚洲综合一区| 亚洲在线视频一区| 日韩视频123| 国产一区视频网站| 国产精品午夜在线观看| 欧美日本韩国一区二区三区视频| 欧美aⅴ一区二区三区视频| 国产欧美日产一区| 91成人免费网站| 免费看欧美女人艹b| 久久久久国产精品麻豆ai换脸| 大尺度一区二区| 久久免费的精品国产v∧| 黄色日韩网站视频| 日韩一区二区三区电影在线观看 | 亚洲精品成a人| 6080yy午夜一二三区久久| 精品亚洲成a人| 国产精品乱码久久久久久| 一本在线高清不卡dvd| 日本少妇一区二区| 欧美激情在线一区二区三区| 国产成人高清在线| 亚洲综合自拍偷拍| 久久综合九色综合欧美就去吻| 99re亚洲国产精品| 看国产成人h片视频| 亚洲欧美综合网| 56国语精品自产拍在线观看| 成人一二三区视频| 亚洲柠檬福利资源导航| 成人福利在线看| 强制捆绑调教一区二区| 国产色婷婷亚洲99精品小说| 精品视频在线免费看| 国产成人欧美日韩在线电影| 天天综合网天天综合色| 中文字幕巨乱亚洲| 91视频在线观看| 美国毛片一区二区三区| 自拍av一区二区三区| 精品乱人伦小说| 色噜噜久久综合| 国产不卡高清在线观看视频| 天天色综合天天| 精品日韩欧美在线| 91视频观看免费| 国产精品88av| 久久69国产一区二区蜜臀| 亚洲国产综合色| 亚洲人成伊人成综合网小说| 久久女同互慰一区二区三区| 欧美日韩精品一区二区| 色悠悠久久综合| 成人晚上爱看视频| 国产成人av在线影院| 免费观看日韩av| 亚洲午夜久久久久久久久久久| 国产精品久久久久永久免费观看 | 亚洲h精品动漫在线观看| 国产精品美女一区二区| 久久精品无码一区二区三区| 欧美成人精品福利| 91精品国产欧美日韩| 欧美另类高清zo欧美| 欧美丰满一区二区免费视频| 日韩三级在线观看| 久久久久久一级片| 国产精品蜜臀av| 亚洲一区在线观看免费| 日韩不卡在线观看日韩不卡视频| 另类小说综合欧美亚洲| 国产成人av电影在线| 99国产精品视频免费观看| 精品视频在线免费看| 91精品国产麻豆| 欧美极品xxx| 香蕉久久一区二区不卡无毒影院| 老司机免费视频一区二区| 成人综合在线观看| 欧美色综合久久| 欧美精品一区二区三区在线| 国产精品久久久久久久久图文区| 亚洲成年人影院| 国产乱妇无码大片在线观看| 色丁香久综合在线久综合在线观看| 欧美肥大bbwbbw高潮| 国产亚洲欧美激情| 亚欧色一区w666天堂| 国产自产2019最新不卡| 91黄视频在线观看| 精品久久人人做人人爽| 伊人开心综合网| 国产美女久久久久| 欧美调教femdomvk| 国产精品人成在线观看免费| 亚洲mv在线观看| 99视频热这里只有精品免费| 91精品国产美女浴室洗澡无遮挡| 国产精品久久久久永久免费观看 | 精品国产伦一区二区三区观看体验 | 国产综合色在线| 色狠狠色噜噜噜综合网| 日韩一级黄色大片| 亚洲欧美经典视频| 寂寞少妇一区二区三区| 欧美性大战久久| 国产精品网友自拍| 老司机午夜精品99久久| 欧美在线视频全部完| 国产欧美视频在线观看| 麻豆一区二区99久久久久| 91丨porny丨中文| 国产精品你懂的在线| 免费成人美女在线观看.| 在线观看av一区| 亚洲日本在线看| 成人的网站免费观看| 精品奇米国产一区二区三区| 午夜视频在线观看一区二区| 91麻豆国产香蕉久久精品| 中文字幕不卡三区| 懂色av中文一区二区三区 |