1. 这阵子一直在做一个权限管理系统,用到许多的JS,分页以前都是在后端做。这次想尝试一下在前端做一个纯JS的,找到一篇真的是有意思的文章。大家可以参考一下,不过项目数据量大的情况下请慎用。
  2. <!DOCTYPE html>  
  3. <head>  
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5.     <title>分页</title>  
  6.     <script type="text/javascript" src="jquery-1.11.1.js"></script>  
  7.     <style type="text/css">  
  8.         .table{border:solid #FFAEB9; border-width:1px 0px 0px 1px;width: 100%;font-size: 12px;line-height: 21px;text-align:center;}  
  9.         .table thead td{border:solid #FFAEB9; border-width:0px 1px 1px 0px;}  
  10.         .table tbody td{border:solid #FFAEB9; border-width:0px 1px 1px 0px;padding-right: 5px;padding-left: 5px;}  
  11.     </style>  
  12. </head>  
  13. <body>  
  14.     <div style="width:450px;margin:0 auto;">  
  15.     <div id="dataShow" style="width:450px;margin:0 auto;">  
  16.         <table class="table" id="table"></table>  
  17.     </div>  
  18.     <br/>  
  19.     <div id="page" style="width:450px;margin:0 auto;"></div>  
  20.     </div>  
  21. <script type="text/javascript">  
  22. //编造表数据  
  23. //表头  
  24. var head=  
  25.     '<thead><tr>'+  
  26.     '<td> 姓  名 </td>'+  
  27.     '<td> 年  龄 </td>'+  
  28.     '<td> 彦  值* </td>'+  
  29.     '<td> 成  绩 </td>'+  
  30.     '<td> 身 高cm </td>'+  
  31.     '</tr></thead><tbody>';  
  32. //表内容,后台返回的内容可以封装到这里,随时取用,但是如果数据量很大估计会相当耗资源。  
  33. var pageData=[];  
  34. for(var i=1;i<100;i++){  
  35.     var data='<tr>'+  
  36.     '<td>学生'+i+'</td>'+  
  37.     '<td>'+Math.round(Math.random()*20)+'</td>'+  
  38.     '<td>'+Math.round(Math.random()*5)+'颗星</td>'+  
  39.     '<td>'+Math.round(Math.random()*100)+'</td>'+  
  40.     '<td>'+Math.round(Math.random()*200)+'cm</td>'+  
  41.     '</tr>';  
  42.     pageData.push(data);  
  43. }  
  44. //表结尾  
  45. var end='</tbody>';  
  46.   
  47. $(function(){  
  48.     var Count = pageData.length;//记录条数  
  49.     var PageSize=10;//设置每页示数目  
  50.     var PageCount=Math.ceil(Count/PageSize);//计算总页数  
  51.     var currentPage =1;//当前页,默认为1。  
  52.     //造个简单的分页按钮  
  53.     for(var i=1;i<=PageCount;i++){  
  54.     var pageN='<a href="#" selectPage="'+i+'" >第'+i+'页</a>';  
  55.     $('#page').append(pageN);  
  56.     }  
  57.     //显示默认页(第一页)  
  58.     $('#table').empty().append(head);  
  59.     for(i=(currentPage-1)*PageSize;i<PageSize*currentPage;i++){    
  60.         $('#table').append(pageData[i]);  
  61.     }  
  62.     $('#table').append(end);  
  63.       
  64.     //显示选择页的内容  
  65.     $('a').click(function(){  
  66.      var selectPage=$(this).attr('selectPage');  
  67.      $('#table').html('');  
  68.         $('#table').append(head);  
  69.         for(i=(selectPage-1)*PageSize;i<PageSize*selectPage;i++){  
  70.             $('#table').append(pageData[i]);  
  71.         }  
  72.         $('#table').append(end);  
  73.     });  
  74. });    
  75. </script>  
  76. </body>  
  77. </html>  
  78. 看别人评论说“”想不通前端做分页有什么意义,分页两个功能:显示,还有就是不需要成数据全部加载(也是最主要的)“” 觉得说的挺对,大家在项目中运用的时候一定要慎重。

此文章为转载文章,正文请看http://blog.csdn.net/liuyeshennai/article/details/50792889