用JS实现前端分页的简单方法 --分页1

昨天朋友问我,后台传过来的数据在前端分页显示怎么做。

我也只做过后台分页查询前端显示的方法,没有做过后台不分页而在前端分页的形式。

于是研究了下后台返回全部数据,在前端将数据分页显示的办法。自己研究再参考网上的办法,


<!DOCTYPE html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>分页</title>
    <script type="text/javascript" src="jquery-1.11.1.js"></script>
    <style type="text/css">
        .table{border:solid #FFAEB9; border-width:1px 0px 0px 1px;width: 100%;font-size: 12px;line-height: 21px;text-align:center;}
        .table thead td{border:solid #FFAEB9; border-width:0px 1px 1px 0px;}
        .table tbody td{border:solid #FFAEB9; border-width:0px 1px 1px 0px;padding-right: 5px;padding-left: 5px;}
    </style>
</head>
<body>
    <div style="width:450px;margin:0 auto;">
    <div id="dataShow" style="width:450px;margin:0 auto;">
        <table class="table" id="table"></table>
    </div>
    <br/>
    <div id="page" style="width:450px;margin:0 auto;"></div>
    </div>
<script type="text/javascript">
//编造表数据
//表头
var head=
    '<thead><tr>'+
    '<td> 姓  名 </td>'+
    '<td> 年  龄 </td>'+
    '<td> 彦  值* </td>'+
    '<td> 成  绩 </td>'+
    '<td> 身 高cm </td>'+
    '</tr></thead><tbody>';
//表内容,后台返回的内容可以封装到这里,随时取用,但是如果数据量很大估计会相当耗资源。
var pageData=[];
for(var i=1;i<100;i++){
    var data='<tr>'+
    '<td>学生'+i+'</td>'+
    '<td>'+Math.round(Math.random()*20)+'</td>'+
    '<td>'+Math.round(Math.random()*5)+'颗星</td>'+
    '<td>'+Math.round(Math.random()*100)+'</td>'+
    '<td>'+Math.round(Math.random()*200)+'cm</td>'+
    '</tr>';
    pageData.push(data);
}
//表结尾
var end='</tbody>';
 
$(function(){
    var Count = pageData.length;//记录条数
    var PageSize=10;//设置每页示数目
    var PageCount=Math.ceil(Count/PageSize);//计算总页数
    var currentPage =1;//当前页,默认为1。
    //造个简单的分页按钮
    for(var i=1;i<=PageCount;i++){
    var pageN='<a href="#" selectPage="'+i+'" >第'+i+'页</a>';
    $('#page').append(pageN);
    }
    //显示默认页(第一页)
    $('#table').empty().append(head);
    for(i=(currentPage-1)*PageSize;i<PageSize*currentPage;i++){ 
        $('#table').append(pageData[i]);
    }
    $('#table').append(end);
    
    //显示选择页的内容
    $('a').click(function(){
     var selectPage=$(this).attr('selectPage');
     $('#table').html('');
        $('#table').append(head);
        for(i=(selectPage-1)*PageSize;i<PageSize*selectPage;i++){
            $('#table').append(pageData[i]);
        }
        $('#table').append(end);
    });
});  
</script>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,046评论 2 89
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,647评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,993评论 2 59
  • 文/左先生 前两天听单位同事讨论,一个话题: 如果人得了一些“小病小痛”,要不要去医院就诊。大致有两拨意见;一部分...
    左先生和右先生阅读 410评论 0 1
  • 第一百八十一章 怀疑 “谢老伯提议。”刘旦客气回礼。“听老伯言,分析透彻,难是一般人所能够清楚了解,不知老伯此前为...
    弘玥阅读 342评论 0 1