最简单的分页(使用了分页助手)-姥姥家的程序员

话不多说,效果图走起。

在这里插入图片描述

在这里插入图片描述

分页需要的资源

  1. 后台接口: 需要有一个开发功能完毕的接口,在我开发的接口中,为了分页方便,我使用了github的pagehelper。在后台返回的数据中,主要有分页的信息和查询的结果集。
    (1)当前页:pageNum
    (2)查询的总条数:total
    (3)查询总页面:pages
    (4)上一页:prePage
    (5)下一页:nextPage
    (6)查询结果集:list
    如果在开发中没有使用pagehelper,则需要自己封装一个分页的类,里面存在相关的分页信息。
  2. 前台页面: 我前台页面的数据回显全部是由js控制,页面为users.html,显示用户信息的为showUser.js,分页js为pageWJ.min.js。

代码

1.后台接口: 后台接口返回的数据此处不做显示,查询出来的信息是用户的基本信息。接口返回值样式:

{
    "code": "200",
    "message": "success",
    "data": {
        "total": 3,
        "list": [
            {
                "id": 1,
                "username": "admin",
                "password": "3ef7164d1f6167cb9f2658c07d3c2f0a",
                "userGroup": "1",
                "userDesc": null,
                "userCreate": null,
                "createTime": null,
                "updateTime": null,
                "enable": 1,
                "start": 1,
                "PAGE_SIZE": 10,
                "PAGE_NUM": 0
            },
            {
                "id": 32,
                "username": "admin116",
                "password": "52a698d5eaa2ea105acad627d6454fcb",
                "userGroup": null,
                "userDesc": null,
                "userCreate": null,
                "createTime": null,
                "updateTime": null,
                "enable": 1,
                "start": 1,
                "PAGE_SIZE": 10,
                "PAGE_NUM": 0
            },
            {
                "id": 53,
                "username": "admin111",
                "password": "4258eb39b852cc2fa622a00396446440",
                "userGroup": null,
                "userDesc": null,
                "userCreate": null,
                "createTime": null,
                "updateTime": null,
                "enable": 0,
                "start": 1,
                "PAGE_SIZE": 10,
                "PAGE_NUM": 0
            }
        ],
        "pageNum": 1,
        "pageSize": 10,
        "size": 3,
        "startRow": 1,
        "endRow": 3,
        "pages": 1,
        "prePage": 0,
        "nextPage": 0,
        "isFirstPage": true,
        "isLastPage": true,
        "hasPreviousPage": false,
        "hasNextPage": false,
        "navigatePages": 8,
        "navigatepageNums": [
            1
        ],
        "navigateFirstPage": 1,
        "navigateLastPage": 1
    }
}
  1. 前台页面:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="renderer" content="webkit">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>用户管理</title>
    <link href="../../pub-ui/css/interface.min.css" rel="stylesheet">
    <link href="../../pub-ui/css/font-awesome.min.css" rel="stylesheet">
    <link href="../../pub-ui/plugins/artDialog/ui-dialog.css" rel="stylesheet">
    <link href="../../pub-ui/css/app.css" rel="stylesheet">
    <!--[if lt IE 9]>
        <script src="../../pub-ui/js/ieonly/html5shiv.js"></script>
        <script src="../../pub-ui/js/ieonly/respond.js"></script>
        <script src="../../pub-ui/js/ieonly/excanvas.js"></script>
    <![endif]-->
</head>
<body class="bg-graywhite font-sm">
    <p f="p" class="mgr-big mgl-big text-muted mgt-big mgb-big" id = "show_count">共搜索到 922 条数据</p>
    <div f="div" class="mgl-big mgr-big mgb-big pdb-lg bg-white pdl-lg pdr-lg with-headbg clearfix">
        <div class="table-wrap">
            <table class="table table-hover border-bottom mgb-0" style="border:none;" f="table" name="table" id="table">
                <thead>
                    <tr f="tr">
                        <th f="th" class="text-center"><input class="js_select" type="checkbox" f="checkbox"></th>
                        <th f="th">ID</th>
                        <th f="th">用户名</th>
                        <th f="th">是否可用</th>
                        <th f="th">密码</th>
                        <th f="th">操作</th>
                    </tr>
                </thead>
                <tbody id="sList">                  
                </tbody>
            </table>
        </div>
		
			
			 <ul class="ui-page pull-right mgt-big" id = "pageList">
			</ul>
         
</div>
    </div>  
</body>
<script src="../../pub-ui/js/jquery-1.11.3.min.js"></script>
<script src="../../pub-ui/js/interface.min.js"></script>
<script src="../../pub-ui/plugins/artDialog/dialog-plus.js"></script>
<script src="../../pub-script/pageWJ/pageWJ.min.js"></script>
<script src="../../pub-script/showUser.js"></script>
</html>
  1. 页面操作的js
    页面在一加载的时候,通过ajax发送请求到后端,拿到请求的结果,通过拼接页面的方式,把页面渲染,通过使用fenye()的js方法,传入相关的分页信息。ajax中的信息是我本地其的服务,如果自己需要用的话,需要将ajax中的url进行修改。pageWJ.min.js要引在showUser.js之前。
//页面加载用户信息
$(document).ready(function () {
	var addParam = {};
	$.ajax({
				cache: true,
				type: "POST",
				contentType: "application/json; charset=utf-8",
				url: 'http://127.0.0.1:8089/serviceBP/users',
				data: JSON.stringify(addParam),
				async: false,
				success: function(result) {
				   renderData1(result.data);
				   
				}
          });

});

//页面加载拼接数据
function renderData1(data) {
    var list  = data.list;
    var html = '';
    $("#show_count").html('共有数据:'+data.total+'条');

    for ( var a in list){
        var uid = list[a].id;
        var username = list[a].username||'';
        var password = list[a].password||'';
        var enable = list[a].enable||'';
		html += '<tr f="tr" name="tr" id="tr">';
       
        html += '<td f="td" class="text-center"><input type="checkbox" f="checkbox" class="checkchild" value = "'+uid+'"></td>';
        html += '<td f="td">'+uid+ 	'</td>';
        html += '<td f="td">'+username+ 	'</td>';
		if(enable == 1){
			html += '<td f="td"><i class="effective" f="font-icon"></i></td>';
		}else{
			 html += '<td f="td"><i class="effective no-effective" f="font-icon"></i></td>';
		}
       
        html += '<td f="td">'+password+	'</td>';
		html += '<td f="td" class="text-primary"><a href="javascript:;" onclick="user_show('+ uid +')" f="a" class="mgr-sm text-primary">查看</a>|<a href="javascript:;" onclick="find_user('+ uid +')" f="a" class="mgl-sm text-primary">修改</a></td>'
     
        html += '</tr>';
    }
	

    $("#sList").html(html);
	fenye(data);
}
//用户分页信息
function fenye(data){
	$('#pageList').jqPaginator({
		totalPages: data.pages, //总页数
		visiblePages: 5, //分页显示几条
		currentPage: data.pageNum, //当前页
		first: '<li class="first"><a href="javascript:void(0);">首页</a></li>',
		prev: '<li class="prev"><a href="javascript:void(0);">上一页</a></li>',
		next: '<li class="next"><a href="javascript:void(0);">下一页</a></li>',
		last: '<li class="last"><a href="javascript:void(0);">尾页</a></li>',
		page: '<li class="page"><a href="javascript:void(0);">{{page}}</a></li>',
		onPageChange: function (num, type) {
			var uid = $("#userId").val();
			var uname = $("#uName").val();
			var param = {id:uid,username:uname,PAGE_NUM:num};
			if (type == 'change'){
				$.ajax({
					async: false,
					type: "POST",
					contentType: "application/json; charset=utf-8",
                    url: 'http://127.0.0.1:8089/serviceBP/users',
					data: JSON.stringify(param),
					dataType: "json",
					success: function (result) {
						if(result.message == "success"){
							renderData1(result.data);
						} else {
							alert('数据异常');
						}						
					},
					error: function () {
					}
				});
			}

		}
	});
}

源码请到github进行下载:https://github.com/DontGiveUpWJ/paging.git
页面在pages-main-用户csdn.html
如有问题,请留言或者私信,着急的话可以联系QQ:651136439 备注:cdsn分页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值