国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

為你的文章生成目錄索引

魏憲會(huì) / 791人閱讀

摘要:使用可以快速為你的頁(yè)面生成目錄的結(jié)構(gòu),擁有較強(qiáng)的可定制性,并且并不會(huì)擅自為你做太多的事情,以便你更容易地把應(yīng)用到你的項(xiàng)目中。

引言

為頁(yè)面中的標(biāo)題元素建立目錄索引,這是一個(gè)不起眼卻很實(shí)用的功能,特別是對(duì)于那些含有篇幅很長(zhǎng)的文章的頁(yè)面,擁有一個(gè)目錄可以讓讀者對(duì)文章的結(jié)構(gòu)一目了然,更重要的是,讀者可以很輕松地在文章的各個(gè)章節(jié)之間來(lái)回快速跳轉(zhuǎn),極大地提高了用戶體驗(yàn)。

toc.js

使用 toc.js 可以快速為你的頁(yè)面生成目錄的 HTML 結(jié)構(gòu),toc.js 擁有較強(qiáng)的可定制性,并且 toc.js 并不會(huì)擅自為你做太多的事情,以便你更容易地把 toc.js 應(yīng)用到你的項(xiàng)目中。

項(xiàng)目主頁(yè):GitHub

預(yù)覽

用法

在你的頁(yè)面中引入 toc.js:

請(qǐng)根據(jù)項(xiàng)目實(shí)際情況自行修改 src 屬性。

toc.js 基于 jQuery,請(qǐng)確保在使用 Toc 之前引入 jQuery。

快速上手

實(shí)例化 Toc:

var toc = new Toc();

然后調(diào)用 make() 方法:

make(content, toc[, callback])

該方法接受兩個(gè)必選參數(shù):第一個(gè)參數(shù) content 是頁(yè)面中要為其中的標(biāo)題元素建立目錄索引的 jQuery 元素對(duì)象,通常就是 article 標(biāo)簽,第二個(gè)參數(shù) toc 是用于存放目錄索引的 jQuery 元素對(duì)象。

比如你的頁(yè)面中有下面元素:

something...

你要在下面的元素中為上面元素內(nèi)的標(biāo)題元素建立目錄索引:

你應(yīng)該這樣調(diào)用 make() 方法:

var content = $("article");
var wrapper = $(".toc");

toc.make(content, wrapper);

make() 方法將為 content 內(nèi)的標(biāo)題標(biāo)簽添加錨點(diǎn),并在 toc 內(nèi)生成對(duì)應(yīng)的目錄索引,生成的目錄結(jié)構(gòu)大致如下:

如果你需要在目錄索引生成后進(jìn)行一些操作,可以給 make() 方法傳入第三個(gè)參數(shù):

var content = $("article");
var wrapper = $(".toc");

var callback = function () {
    console.log("well done!");
};

toc.make(content, wrapper, callback);
更多

如果默認(rèn)生成的目錄索引不能滿足你的需求,你可以在調(diào)用 make() 方法之前鏈?zhǔn)秸{(diào)用 setting() 方法來(lái)設(shè)定一些參數(shù),甚至定義如何生成目錄的 HTML 結(jié)構(gòu),setting() 方法接受一個(gè)對(duì)象作為唯一的必選參數(shù):

setting(config)

你可以在給傳給 setting() 方法的對(duì)象定義以下屬性或方法:

配置項(xiàng) 說(shuō)明 默認(rèn)值
headingSelector 決定哪些級(jí)別的標(biāo)題會(huì)出現(xiàn)在目錄中 h2, h3, h4
anchorPrefix 每個(gè)標(biāo)題錨點(diǎn)名的前綴 toc-
makeItem() 如何生成目錄的每個(gè)條目 默認(rèn)生成被 li 標(biāo)簽包含的 a 標(biāo)簽
makeWrapper() 如何生成每個(gè)目錄層級(jí)的容器 默認(rèn)使用 ul 標(biāo)簽
headingSelector

headingSelector 屬性是一個(gè) jQuery 選擇器,你可以通過(guò)定義它來(lái)決定哪些標(biāo)題元素將會(huì)出現(xiàn)在目錄中:

var config = {
    headingSelector: "h1, h2, h3",
};

toc.setting(config).make(content, wrapper, callback);

以上定義了只有一級(jí)標(biāo)題、二級(jí)標(biāo)題和三級(jí)標(biāo)題會(huì)出現(xiàn)在目錄中。

anchorPrefix

你可以定義 anchorPrefix 屬性來(lái)決定每個(gè)標(biāo)題錨點(diǎn)名的前綴,默認(rèn)為 toc-

makeItem()

你可以定義 makeItem() 方法來(lái)告訴 Toc 如何生成目錄的每個(gè)條目:

makeItem(anchor, text, level)

該方法接受三個(gè)參數(shù):第一個(gè)參數(shù) anchor 是對(duì)應(yīng)標(biāo)題的錨點(diǎn);第二個(gè)參數(shù) text 是對(duì)應(yīng)標(biāo)題的文本內(nèi)容;第三個(gè)參數(shù) level 是該標(biāo)題的級(jí)別,你需要在此方法中返回目錄條目的 HTML字符串、DOM 元素或者 jQuery 對(duì)象,默認(rèn)的定義如下:

function (anchor, text, level) {

    return "
  • " + text + "
  • "; }
    makeWrapper()

    你還可以定義 makeItem() 方法來(lái)告訴 Toc 如何生成每個(gè)目錄層級(jí)的容器:

    makeWrapper(level)

    默認(rèn)的定義如下:

    function (level) {
    
        return "
      "; }

      如果你想多帶帶設(shè)定最頂級(jí)目錄層級(jí)的容器的生成方式,你可以這樣定義 makeWrap() 方法:

      function (level) {
          // 其他容器的生成方式
          this.makeWrapper = function (level) {
              return "
        "; }; return "
          "; }
          最后

          如果你覺(jué)得這個(gè)微不足道的項(xiàng)目能對(duì)你有所幫助,那就給我一個(gè) star 吧!——項(xiàng)目主頁(yè):GitHub

          文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

          轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/93229.html

          相關(guān)文章

          • 你的博客添加目錄索引

            摘要:我采用了遍歷樹(shù),然后找到文章的標(biāo)簽暫時(shí)只對(duì)標(biāo)簽建立索引,為其添加的方式建立索引。初始化文章錨點(diǎn)和目錄數(shù)據(jù)結(jié)構(gòu)找到屬于文章內(nèi)容的標(biāo)簽添加標(biāo)簽文本內(nèi)容記錄當(dāng)前標(biāo)簽的偏移量,方便后面計(jì)算滾動(dòng)距離。 一、前言 演示圖例 showImg(https://segmentfault.com/img/remote/1460000016099128?w=1547&h=894); 需求 這個(gè)目錄索引應(yīng)該包...

            SwordFly 評(píng)論0 收藏0
          • 你的站點(diǎn)插上ElasticSearch的翅膀

            摘要:下載并安裝目前的最新穩(wěn)定版為,如果之后版本有升級(jí),請(qǐng)將相應(yīng)的版本號(hào)替換掉上面的。在實(shí)現(xiàn)的過(guò)程中,貌似對(duì)中文的支持不是那么好,所以接下來(lái)會(huì)嘗試使用一下中文分詞器來(lái)看看效果,順利的話會(huì)再出一篇文章。 原文來(lái)自:https://jellybool.com/post/setup-slasticsearch-on-your-website 在我的博客按Shift+S就可以呼出搜索框,可...

            JouyPub 評(píng)論0 收藏0
          • 你的博客添加搜索功能吧!

            摘要:提供個(gè)人博客文章搜索服務(wù)只需要配置個(gè)人博客地址載入博客數(shù)據(jù)開(kāi)啟服務(wù)即可開(kāi)啟文章搜索服務(wù)。對(duì)配置文件監(jiān)控修改后服務(wù)及時(shí)地更新博客數(shù)據(jù)。 Search-Spider-Blog 提供個(gè)人博客文章搜索服務(wù), 只需要配置個(gè)人博客地址, 載入博客數(shù)據(jù), 開(kāi)啟Server服務(wù), 即可開(kāi)啟文章搜索服務(wù)。 對(duì)blogconfig.json配置文件監(jiān)控, 修改后服務(wù)及時(shí)地更新博客數(shù)據(jù)。 本人用的為Hexo...

            vboy1010 評(píng)論0 收藏0
          • 如何發(fā)布你自己的React模塊至NPM

            摘要:文章介紹如何創(chuàng)建發(fā)布一個(gè)包,包括項(xiàng)目搭建發(fā)布流程注意事項(xiàng)等。語(yǔ)義化版本號(hào)分為三位。主版本號(hào)當(dāng)進(jìn)行了大都改動(dòng)或者對(duì)有很多不兼容修改時(shí)應(yīng)該進(jìn)行版本號(hào)升級(jí)。次版本號(hào)增加了部分特性或者優(yōu)化時(shí)升級(jí)該版本。如如果你想撤回指定版本,執(zhí)行包名版本號(hào)。 文章介紹如何創(chuàng)建發(fā)布一個(gè)npm包,包括項(xiàng)目搭建、發(fā)布流程、注意事項(xiàng)等。 演示代碼GitHub地址 1. 初始化項(xiàng)目 首先在創(chuàng)建好的項(xiàng)目文件夾下面執(zhí)行 ...

            zombieda 評(píng)論0 收藏0

          發(fā)表評(píng)論

          0條評(píng)論

          最新活動(dòng)
          閱讀需要支付1元查看
          <