JS实现分页

  • 后台返回数据,不做分页,前端js实现分页效果。
//显示内容
<div id="contentlist"></div>
//显示页码
<div id="turnpage" class="turnpage"></div>

js实现:

//动态显示翻页信息
		function showPage() {
			var pageContent = '<div id="firstPageDiv" class="pageoperation" onclick="pageHelper(0)">'
					+ '<span id="firstPage">首页</span>'
					+ '</div>'
					+ '<div id="prePageDiv" class="pageoperation">'
					+ '<span id="prePage" onclick="pageHelper(-1)">上一页</span>'
					+ '</div>'
					+ '<div id="showPageDiv" class="pageoperation" style="color: #333333">'
					+ '第<div id="nowPage" style="display:inline"></div>页/共<div id="totalPage" style="display:inline"></div>页'
					+ '</div>'
					+ '<div id="nextPageDiv" class="pageoperation">'
					+ '<span id="nextPage" onclick="pageHelper(1)">下一页</span>'
					+ '</div>'
					+ '<div id="lastPageDiv" class="pageoperation">'
					+ '<span id="lastPage" onclick="pageHelper(9999)">尾页</span>'
					+ '</div>';
			return pageContent;
		}

		//0:首页 1:下一页 -1:上一页 9999:尾页 
		function pageHelper(pageNum) {
			//将nowPage显示的内容转成10进制
			var currPage = parseInt($("#nowPage").text(), 10);
			var totalPage = parseInt($("#totalPage").text(), 10);
			var begNum = 0;
			var endNum = pageNum * 5;//每页显示五条数据
			switch (pageNum) {
			case 0:
				currPage = 1;
				begNum = (currPage - 1) * 5;
				endNum = begNum + 5;
				if (reData.length < endNum) {
					endNum = reData.length;
				}
				break;
			case 1:
				currPage += 1;
				begNum = (currPage - 1) * 5;
				endNum = begNum + 5;
				if (reData.length < endNum) {
					endNum = reData.length;
				}
				break;
			case -1:
				currPage -= 1;
				begNum = (currPage - 1) * 5;
				endNum = begNum + 5;
				if (reData.length < endNum) {
					endNum = reData.length;
				}
				break;
			case 9999:
				currPage = totalPage;
				begNum = (totalPage - 1) * 5;
				endNum = reData.length;
				break;
			}
			if (currPage == 1) { //第一页,隐藏首页、上一页字样 
				$("#firstPageDiv").attr("style", "display:none");
				$("#prePageDiv").attr("style", "display:none");
			} else {//显示首页、上一页字样 
				$("#firstPageDiv").attr("style", "display:inline");
				$("#prePageDiv").attr("style", "display:inline");
			}
			if (currPage == totalPage) { //最后一页,隐藏尾页、下一页字样 
				$("#nextPageDiv").attr("style", "display:none");
				$("#lastPageDiv").attr("style", "display:none");
			} else {//显示尾页、下一页字样 
				$("#nextPageDiv").attr("style", "display:inline");
				$("#lastPageDiv").attr("style", "display:inline");
			}
			$("#nowPage").html(currPage);
			$("#totalPage").html(totalPage);
			//重新渲染数据 
			$("#contentlist").html(showData(reData, begNum, endNum));
		}


function showData(data, begNum, endNum) {
			var proList = "";
			for (var i = begNum; i < endNum; i++) {//循环遍历,逐条添加需要展示的数据
				proList += '<div class="contentlist" id="contentlist"><div class="contentline1">'
						+ '<div id="productname" class="contentline11">'
						+ data[i].productname
						+ '</div>'
						+ '<div id="productcode" class="contentline12">'
						+ data[i].productcode
						+ '</div>'
						+ '<div class="contentline13">';
			}
			return proList;
		}
//获取后台数据进行展示
	//条件检索ajax
		function getData(){
			$("#dataForm").ajaxSubmit({//项目需要,这里使用了jquery.form.js中的ajaxSubmit,也可以换成ajax
				url : "<%=jspHead%>/fpms/product/qry",
				xhrFields:{
					withCredentials:true
				},
				dataType:"text",
				data : {
					'cardNo' : $("#selCardNo option:selected").val(),
					'status' : $("#sel1 option:selected").val(),
					'risklevel' : $("#sel2 option:selected").val(),
					'curr' : $("#sel4 option:selected").val(),
					'namekey' : $("#searchInput").val()
				},
				success : function(data) {
					if(data.indexOf("<") == -1){
						data=JSON.parse(data);
					}else{
						data=JSON.parse(data.substring(0,data.indexOf("<")));
					}
					var nowPageText = "";
					if (data.length > 0) {
						nowPageText = 1;
					} else {
						nowPageText = 0;
					}
					reData = data;
					if (data.length < 5) {
						$("#contentlist").html(showData(data, 0, data.length));//默认显示第一页 ,每页显示5条数据 
					} else {
						$("#contentlist").html(showData(data, 0, 5));//默认显示第一页 ,每页显示5条数据 
					}

					$("#turnpage").html(showPage());
					$("#nowPage").html(nowPageText);
					$("#totalPage").html(Math.ceil((reData.length) / 5));
					$("#firstPageDiv").attr("style", "display:none");
					$("#prePageDiv").attr("style", "display:none");
					if (Math.ceil((reData.length) / 5) == 1) {
						$("#nextPageDiv").attr("style", "display:none");
						$("#lastPageDiv").attr("style", "display:none");
					}else if(Math.ceil((reData.length) / 5) == 0){
						$("#nextPageDiv").attr("style", "display:none");
						$("#lastPageDiv").attr("style", "display:none");
					}
				}
			});
		}

效果图:
首页
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值