使用infinite-scroll實現(xiàn)Ghost博文列表的滾動加載

Ghost博客系統(tǒng)默認(rèn)提供的博文列表為傳統(tǒng)的翻頁方式(通過點(diǎn)擊上一頁教届、下一頁等按鈕來切換),隨著移動客戶端的發(fā)展驾霜,瀑布流式的滾動加載方式得到廣泛應(yīng)用案训,有效地提高了用戶瀏覽信息的流暢度。下面詳述如何通過Infinite Scroll來改造Ghost博文列表的翻頁效果粪糙。

Infinite Scroll

Infinite Scroll顧名思義:無限滾動强霎,也稱為自動分頁、滾動分頁和無限分頁蓉冈,是基于jquery的一個插件城舞。可以用來實現(xiàn)滾動頁面的時候加載下一頁的內(nèi)容寞酿。

infinite-scroll項目地址

實現(xiàn)步驟

  • jquery.infinitescroll.min.js拷貝到你的主題目錄下
  • 在循環(huán)獲取posts列表的頁面上引入jquery.infinitescroll.min.js文件

注意:jquery.infinitescroll.min.js必須在jquery引入之后

<script src="{{asset "js/jquery.infinitescroll.min.js"}}"></script>
  • 嘗試一下最簡配置家夺,若我們的頁面結(jié)構(gòu)如下
{{#foreach posts}}
    <article class="{{post_class}}">
        {{!有封面的時候展示封面}}
        {{#if image}}
        <a class="post-pic hidden-xs" href="{{url}}" style="background-image: url({{image}});"></a>
        {{/if}}

        <header class="post-header">
            <h2 class="post-title"><a href="{{url}}">{{{title}}}</a></h2>
        </header>
        <section class="post-excerpt">
            <p>{{excerpt characters="140"}} <a class="read-more" href="{{url}}">?</a></p>
        </section>
        <footer class="post-meta">
            {{#if author.image}}<img class="author-thumb" src="{{author.image}}" alt="{{author.name}}" nopin="nopin" />{{/if}}
            {{author}}
            {{tags prefix=" <i class=\"fa fa-tags\"></i> "}}
            <time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="YYYY年MM月DD日"}}</time>
        </footer>

    </article>
{{/foreach}}

<nav class="pagination" role="navigation">
    {{#if prev}}
        <a class="newer-posts" href="{{page_url prev}}">← 上一頁</a>
    {{/if}}
    <span class="page-number">第 {{page}} 頁 ? 共 {{pages}} 頁</span>
    {{#if next}}
        <a class="older-posts" href="{{page_url next}}">下一頁 →</a>
    {{/if}}
</nav>
  • 我們可以通過如下代碼將原來點(diǎn)擊上一頁、下一頁的翻頁模式變成滾動翻頁
<script>
    $(document).ready(function (){
        $('#posts-content').infinitescroll({
            navSelector  : "nav.pagination",
            nextSelector : "nav.pagination a:last",
            itemSelector : "article"
        });
    });
</script>

使用解析

  • 通過id選擇器$('#posts-content')選中post列表的循環(huán)展示區(qū)域伐弹,后續(xù)加載的內(nèi)容會被append到這個節(jié)點(diǎn)之下
  • navSelector參數(shù)拉馋,用來選中翻頁模塊的html位置,如上配置即選中了nav標(biāo)簽class為pagination的元素惨好,框架會將這部分內(nèi)容隱藏(隱藏原來的翻頁模塊)
  • nextSelector參數(shù)椅邓,標(biāo)出下一頁的請求鏈接,框架根據(jù)此獲取下一頁的請求以發(fā)起ajax請求獲取下一頁的html內(nèi)容
  • itemSelector參數(shù)昧狮,在發(fā)起了下一頁請求之后,通過這個參數(shù)的配置來截取下一頁html內(nèi)容中post部分來填充到navSelector選中位置的最后

進(jìn)階配置

在完成了上面操作之后板壮,還可以做一些進(jìn)階的配置逗鸣,比如修改加載中的文字描述,沒有內(nèi)容之后的提示內(nèi)容等等。

下面是本站使用的配置撒璧,供參考透葛。

<script>
    $(document).ready(function (){
        $('#posts-content').infinitescroll({
            navSelector  : "nav.pagination",
            nextSelector : "nav.pagination a:last",
            itemSelector : "article",
            animate : false,
            bufferPx: 5,
            extraScrollPx: 50,
            loading: {
                speed: 'fast',
                selector: null,
                msgText: '加載中...',
                finishedMsg:'<div class="post-loading">沒有更多了</div>'
            }
        });
    });
</script>

更多參數(shù)配置可參見:infinite-scroll

本博客主題項目地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市卿樱,隨后出現(xiàn)的幾起案子僚害,更是在濱河造成了極大的恐慌,老刑警劉巖繁调,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萨蚕,死亡現(xiàn)場離奇詭異,居然都是意外死亡蹄胰,警方通過查閱死者的電腦和手機(jī)岳遥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來裕寨,“玉大人浩蓉,你說我怎么就攤上這事”鐾啵” “怎么了捻艳?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長庆猫。 經(jīng)常有香客問我认轨,道長,這世上最難降的妖魔是什么阅悍? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任好渠,我火速辦了婚禮,結(jié)果婚禮上节视,老公的妹妹穿的比我還像新娘拳锚。我一直安慰自己,他們只是感情好寻行,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布霍掺。 她就那樣靜靜地躺著,像睡著了一般拌蜘。 火紅的嫁衣襯著肌膚如雪杆烁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天简卧,我揣著相機(jī)與錄音兔魂,去河邊找鬼。 笑死举娩,一個胖子當(dāng)著我的面吹牛析校,可吹牛的內(nèi)容都是我干的构罗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼智玻,長吁一口氣:“原來是場噩夢啊……” “哼遂唧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吊奢,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤盖彭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后页滚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體召边,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年逻谦,在試婚紗的時候發(fā)現(xiàn)自己被綠了掌实。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡邦马,死狀恐怖贱鼻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情滋将,我是刑警寧澤邻悬,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站随闽,受9級特大地震影響父丰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜掘宪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一蛾扇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧魏滚,春花似錦镀首、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至腥寇,卻和暖如春成翩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赦役。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工麻敌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掂摔。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓庸论,卻偏偏與公主長得像职辅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子聂示,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容