NodeJS和BootStrap分頁(yè)效果的實(shí)現(xiàn)代碼
1、數(shù)據(jù)處理
首先在動(dòng)態(tài)js中,根據(jù)url參數(shù)獲取數(shù)據(jù)庫(kù)文檔的數(shù)量,設(shè)置分頁(yè)的大小,獲取當(dāng)前頁(yè)面的數(shù)據(jù),然后將文檔數(shù)量pagecount,分頁(yè)大小pagesize,以及當(dāng)前頁(yè)面currentpage傳遞到頁(yè)面中。
2、處理分頁(yè)效果
我采用的是JavaScript動(dòng)態(tài)生成的,你也可以利用ejs支持函數(shù)的特性將其封裝后生成html形式的分頁(yè)。
首先,添加分頁(yè)ul,在你的頁(yè)面中需要顯示的位置添加代碼:
<ul class="pagination" id="pagination"> </ul>
然后在script標(biāo)簽中插入處理分頁(yè)的代碼:
$(document).ready(function() { if($("#pagination")){ var pagecount = <%= locals.pagecount %>; var pagesize = <%= locals.pagesize %>; var currentpage = <%= locals.currentpage %>; var counts,pagehtml=""; if(pagecount%pagesize==0){ counts = parseInt(pagecount/pagesize); }else{ counts = parseInt(pagecount/pagesize)+1; } //只有一頁(yè)內(nèi)容 if(pagecount<=pagesize){pagehtml="";} //大于一頁(yè)內(nèi)容 if(pagecount>pagesize){ if(currentpage>1){ pagehtml+= '<li><a rel="external nofollow" href="/course/index/'+(currentpage-1)+'">上一頁(yè)</a></li>'; } for(var i=0;i<counts;i++){ if(i>=(currentpage-3) && i<(currentpage+3)){ if(i==currentpage-1){ pagehtml+= '<li class="active"><a rel="external nofollow" href="/course/index/'+(i+1)+'">'+(i+1)+'</a></li>'; }else{ pagehtml+= '<li><a rel="external nofollow" href="/course/index/'+(i+1)+'">'+(i+1)+'</a></li>'; } } } if(currentpage<counts){ pagehtml+= '<li><a rel="external nofollow" href="/course/index/'+(currentpage+1)+'">下一頁(yè)</a></li>'; } } $("#pagination").html(pagehtml); } });
注意:locals.pagecount,locals.pagesize,locals.currentpage分別是數(shù)據(jù)庫(kù)數(shù)量,分頁(yè)大小,當(dāng)前分頁(yè),他們是從js中傳遞過(guò)來(lái)的,當(dāng)然,你也可以直接修改它們?yōu)楣潭ǖ臄?shù)據(jù)測(cè)試下效果。
比如:
實(shí)際效果為:
這樣一個(gè)簡(jiǎn)單的分頁(yè)效果就出來(lái)了
以上所述是小編給大家介紹的NodeJS和BootStrap分頁(yè)效果的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- nodeJS與MySQL實(shí)現(xiàn)分頁(yè)數(shù)據(jù)以及倒序數(shù)據(jù)
- Vue+Node實(shí)現(xiàn)商品列表的分頁(yè)、排序、篩選,添加購(gòu)物車(chē)功能詳解
- NodeJs操作MongoDB教程之分頁(yè)功能以及常見(jiàn)問(wèn)題
- Node.js中Bootstrap-table的兩種分頁(yè)的實(shí)現(xiàn)方法
- nodejs mysql 實(shí)現(xiàn)分頁(yè)的方法
- nodejs個(gè)人博客開(kāi)發(fā)第六步 數(shù)據(jù)分頁(yè)
- node.js基于mongodb的搜索分頁(yè)示例
- nodejs分頁(yè)類代碼分享
- node+express實(shí)現(xiàn)分頁(yè)效果
相關(guān)文章
Node.js中package.json中庫(kù)的版本號(hào)(~和^)
這篇文章主要介紹了Node.js中package.json中庫(kù)的版本號(hào)(~和^),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04如何使用axios庫(kù)在Node.js中進(jìn)行代理請(qǐng)求(實(shí)踐案例)
axios是一個(gè)強(qiáng)大的基于Promise的HTTP客戶端,它在瀏覽器和Node.js環(huán)境中均可使用,本文將介紹如何充分利用axios庫(kù),在Node.js中進(jìn)行代理請(qǐng)求的最佳實(shí)踐,并通過(guò)一個(gè)實(shí)際案例來(lái)展示其應(yīng)用,感興趣的朋友一起看看吧2024-03-03electron demo項(xiàng)目npm install安裝失敗的解決方法
下面小編就為大家分享一篇electron demo項(xiàng)目npm install安裝失敗的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02詳解前端任務(wù)構(gòu)建利器Gulp.js使用指南
這篇文章主要介紹了前端任務(wù)構(gòu)建利器Gulp.js使用指南,對(duì)Gulp.js感興趣的同學(xué),可以參考下2021-04-04學(xué)習(xí)使用grunt來(lái)打包JavaScript和CSS程序的教程
這篇文章主要介紹了學(xué)習(xí)使用grunt來(lái)打包JavaScript和CSS程序的教程,grunt基于node.js和需要的朋友可以參考下2016-01-01Node.js DES加密的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇Node.js DES加密的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07Express實(shí)現(xiàn)定時(shí)發(fā)送郵件的示例代碼
在開(kāi)發(fā)中我們有時(shí)候需要每隔?一段時(shí)間發(fā)送一次電子郵件,或者在某個(gè)特定的時(shí)間進(jìn)行發(fā)送郵件,無(wú)需手動(dòng)去操作,基于這樣的情況下我們需要用到了定時(shí)任務(wù)。本文就來(lái)用Express實(shí)現(xiàn)定時(shí)發(fā)送郵件吧2023-04-04