node+express實(shí)現(xiàn)分頁(yè)效果
本文實(shí)例為大家分享了node+express實(shí)現(xiàn)分頁(yè)效果展示的具體代碼,供大家參考,具體內(nèi)容如下
效果如下

1、 index.js
在index.js
//數(shù)據(jù)列表傳前臺(tái)+分頁(yè)的實(shí)現(xiàn)
router.get('/admin', function(req, res, next) {
var count = 0;
var page = 0;
var size = 5;
//頁(yè)碼
var pagenum = req.query.pagenum;
var pagenum = pagenum?pagenum:1;
mongo.connect(url1,function(err,database){
database.collection("list",function(err,coll){
//異步處理
async.series([
function(callback){
coll.find({}).toArray(function(err,data){
count = data.length;//數(shù)據(jù)條數(shù)
//page = page<1? 1:page;
page = Math.ceil(count/size);//總共的頁(yè)數(shù)
pagenum = pagenum<1?1:pagenum;//頁(yè)碼小于1;顯示1
pagenum = pagenum>page?page:pagenum;//頁(yè)碼大于總頁(yè)數(shù);顯示總頁(yè)數(shù)
callback(null,'')
})
},function(callback){
coll.find().sort({_id:-1}).limit(size).skip((pagenum-1)*size).toArray(function(err,data){
callback(null,data)
})
}
],function(err,data){
res.render('admin',{list:data[1],page:page,count:count,pagenum:pagenum,size:size,name:req.session.name})
database.close()
})
// coll.find({}).toArray(function(err,data){
// res.render('admin', {list:data});//前端admin頁(yè)面可用直接list
// database.close()
// })
})
})
});
2、所渲染的頁(yè)面
<!-- 從數(shù)據(jù)庫(kù)獲取的數(shù)據(jù)展示 -->
<tbody id="tbody">
<% list.map(function(item,i){ %>
<tr>
<td><%- i+1 %></td>
<td><%- item.name %></td>
<td><%- item.nicheng %></td>
<td><%- item.time %></td>
<td><%- item.pass %></td>
<td class="text-center">
<div class="layui-btn-group">
<button class="btn btn-primary btn-xs change" data-toggle="modal" data-target="#myModal2" dw-url="create.html?id=1" dw-title="編輯用戶">
<i class="layui-icon"></i>編輯
</button>
<button class="btn btn-danger btn-xs dw-delete delate" >
<i class="layui-icon"></i>刪除
</button>
</div>
</td>
</tr>
<tr>
<% }) %>
</tbody>
<!-- 分頁(yè)處理 -->
<div class="am-cf">
<li class="am-active" style="margin-top: 20px">
<span style="font-size:20px">第 <%-pagenum%> 頁(yè)</span>
</li>
<div aria-label="Page navigation" style="margin-left:600px">
<ul class="pagination">
<li class="am-disabled">
<a href="/admin?pagenum=<%-pagenum<1?1:parseInt(pagenum)-1 %>" >«</a>
</li>
<% if(page>5){%>
<li class="am-active">
<a href="/admin?pagenum=1">1</a>
</li>
<li class="am-active">
<a href="/admin?pagenum=2">2</a>
</li>
<li class="am-active">
<a href="#" >...</a>
</li>
<li class="am-active">
<a href="/admin?pagenum=<%-page-1 %>"><%-page-1 %></a>
</li>
<li class="am-active">
<a href="/admin?pagenum=<%-page %>"><%-page %></a>
</li>
<% }else{%>
<% for(let i = 0;i<page;i++){ %>
<li class="am-active">
<a href="/admin?pagenum=<%-i+1 %>"><%-i+1 %></a>
</li>
<% } %>
<% } %>
<li>
<a href="/admin?pagenum=<%-pagenum>page?page:parseInt(pagenum)+1%>" >»</a>
</li>
</ul>
</div>
</div>>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- nodeJS與MySQL實(shí)現(xiàn)分頁(yè)數(shù)據(jù)以及倒序數(shù)據(jù)
- Vue+Node實(shí)現(xiàn)商品列表的分頁(yè)、排序、篩選,添加購(gòu)物車功能詳解
- NodeJs操作MongoDB教程之分頁(yè)功能以及常見(jiàn)問(wèn)題
- Node.js中Bootstrap-table的兩種分頁(yè)的實(shí)現(xiàn)方法
- nodejs mysql 實(shí)現(xiàn)分頁(yè)的方法
- nodejs個(gè)人博客開發(fā)第六步 數(shù)據(jù)分頁(yè)
- node.js基于mongodb的搜索分頁(yè)示例
- NodeJS和BootStrap分頁(yè)效果的實(shí)現(xiàn)代碼
- nodejs分頁(yè)類代碼分享
相關(guān)文章
node.js+Ajax實(shí)現(xiàn)獲取HTTP服務(wù)器返回?cái)?shù)據(jù)
這篇文章主要介紹了node.js+Ajax實(shí)現(xiàn)獲取HTTP服務(wù)器返回?cái)?shù)據(jù),講解的十分詳細(xì),也給出了很多的實(shí)例,是篇非常不錯(cuò)的文章,這里推薦給大家。2014-11-11
node.js中使用node-schedule實(shí)現(xiàn)定時(shí)任務(wù)實(shí)例
這篇文章主要介紹了node.js中使用node-schedule實(shí)現(xiàn)定時(shí)任務(wù)實(shí)例,包括安裝方法和4種使用例子,需要的朋友可以參考下2014-06-06
Node.js系列之發(fā)起get/post請(qǐng)求(2)
這篇文章主要為大家詳細(xì)介紹了Node.js系列之發(fā)起get/post請(qǐng)求,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
我的Node.js學(xué)習(xí)之路(二)NPM模塊管理
npm 是 Node.js 的模塊依賴管理工具。作為開發(fā)者使用的工具,主要解決開發(fā) Node.js 時(shí)會(huì)遇到的問(wèn)題。如同 RubyGems 對(duì)于 Ruby 開發(fā)者和 Maven 對(duì)于 Java 開發(fā)者的重要性,npm 對(duì)與 Node.js 的開發(fā)者和社區(qū)的重要性不言而喻。2014-07-07
node.js 動(dòng)態(tài)執(zhí)行腳本
其中的Script對(duì)象,就與require('vm')返回的對(duì)象很相似,而實(shí)質(zhì)上,vm模塊就是對(duì)Script對(duì)象的封裝。2016-06-06
nodejs進(jìn)階(6)—連接MySQL數(shù)據(jù)庫(kù)示例
本篇文章主要介紹了nodejs進(jìn)階(6)—連接MySQL數(shù)據(jù)庫(kù)示例,詳細(xì)的介紹了NodeJS操作MySQL數(shù)據(jù)庫(kù),作為應(yīng)用最為廣泛的開源數(shù)據(jù)庫(kù)則成為我們的首選,有興趣的可以了解一下。2017-01-01

