nodejs,bootstrap实现分页效果

来源:互联网 发布:aso关键字优化技巧 编辑:程序博客网 时间:2024/06/04 11:36

1、数据处理

首先在动态js中,根据url参数获取数据库文档的数量,设置分页的大小,获取当前页面的数据,然后将文档数量pagecount,分页大小pagesize,以及当前页面currentpage传递到页面中。

2、处理分页效果

我采用的是javascript动态生成的,你也可以利用ejs支持函数的特性将其封装后生成html形式的分页。

首先,添加分页ul,在你的页面中需要显示的位置添加代码:

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. <ul class="pagination" id="pagination">  
  2.                         </ul>  

然后在script标签中插入处理分页的代码:

[javascript] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. $(document).ready(function() {  
  2.     if($("#pagination")){  
  3.         var pagecount = <%= locals.pagecount %>;  
  4.         var pagesize = <%= locals.pagesize %>;  
  5.         var currentpage = <%= locals.currentpage %>;  
  6.         var counts,pagehtml="";  
  7.         if(pagecount%pagesize==0){  
  8.             counts = parseInt(pagecount/pagesize);  
  9.         }else{  
  10.             counts = parseInt(pagecount/pagesize)+1;  
  11.         }  
  12.         //只有一页内容  
  13.         if(pagecount<=pagesize){pagehtml="";}  
  14.         //大于一页内容  
  15.         if(pagecount>pagesize){  
  16.             if(currentpage>1){  
  17.                 pagehtml+= '<li><a href="/course/index/'+(currentpage-1)+'">上一页</a></li>';  
  18.             }  
  19.             for(var i=0;i<counts;i++){  
  20.                 if(i>=(currentpage-3) && i<(currentpage+3)){  
  21.                     if(i==currentpage-1){  
  22.                         pagehtml+= '<li class="active"><a href="/course/index/'+(i+1)+'">'+(i+1)+'</a></li>';  
  23.                     }else{  
  24.                         pagehtml+= '<li><a href="/course/index/'+(i+1)+'">'+(i+1)+'</a></li>';  
  25.                     }  
  26.                       
  27.                 }  
  28.             }  
  29.             if(currentpage<counts){  
  30.                 pagehtml+= '<li><a href="/course/index/'+(currentpage+1)+'">下一页</a></li>';  
  31.             }  
  32.         }  
  33.         $("#pagination").html(pagehtml);  
  34.     }  
  35. });  
注意:locals.pagecount,locals.pagesize,locals.currentpage分别是数据库数量,分页大小,当前分页,他们是从js中传递过来的,当然,你也可以直接修改它们为固定的数据测试下效果

比如:

实际效果为:


这样一个简单的分页效果就出来了

0 0
原创粉丝点击