technologykai

纯JS实现前端分页的简单方法

  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

发表于 2017-10-16 18:57  问题大白  阅读(820)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-01-08
  • 2022-12-23
  • 2021-11-12
  • 2022-12-23
  • 2021-08-01
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-06
  • 2021-11-28
  • 2021-10-14
相关资源
相似解决方案