求大神帮忙看看这段代码逻辑哪里出了问题,小白提问分页逻辑

小_孔 2017-08-17 08:00:41
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
table{
border:solid #aaa 2px;
border-collapse: collapse;
width:300px;
margin:0 auto;
}
tr td{
border:solid #aaa 1px;
text-align: center;
}
*{padding: 0;margin: 0;}
ul li{list-style: none;}
/*分页*/
#pageGro{ width:460px; height:25px; margin:0px auto; padding-top:15px;}
#pageGro div,#pageGro div ul li{ font-size:12px; color:#999; line-height:23px; float:left; margin-left:5px;cursor:pointer;text-align: center;}
#pageGro div ul li{ width:22px; text-align:center; border:1px solid #999; cursor:pointer;}
#pageGro div ul li.on{ color:#fff; background:#3c90d9; border:1px solid #3c90d9;}
#pageGro .pageUp,#pageGro .pageDown,#pageGro .pageFirst,#pageGro .pageEnd{ width:43px; border:1px solid #999;}
#pageGro .pageSum{ width:85px; border:1px solid #999;}
</style>
<script type="text/javascript" src="jQuery/jquery-1.11.1.js"></script>
<script type="text/javascript">
$(function(){

loadData(1);
});
function loadData(event){
$.ajax({
url:"emp/findPage.do",
dataType:"json",
data:{"pageNum":event == 1 ? 1:event.data.pageNum},
success:function(result){
console.log(result); //输出返回值
//清空数据列表
$("#td").empty();
if(result.state == 0){
var page = result.data;
//打印数据列表
emplistLoad(page.list);
//分页处理程序
pageHandler(page);
}else{
$("#pageGro").empty();
alert(result.message);
}

},
error:function(){
alert("系统错误,请稍后重试...");
}
});
}

function pageHandler(page){
$("#span_pageNum").html(page.pageNum);
$("#span_countPage").html(page.countPage);
if(page.pageNum == 1){
$(".pageUp").hide();
}else{
$(".pageUp").show();
}
if(page.pageNum == page.countPage){
$(".pageDown").hide();
}else{
$(".pageDown").show();
}
$(".pageFirst").on("click",{pageNum:1},loadData);
$(".pageEnd").on("click",{pageNum:page.countPage},loadData);
$(".pageUp").on("click",{pageNum:page.pageNum - 1},loadData);
$(".pageDown").on("click",{pageNum:page.pageNum + 1},loadData);
}

function emplistLoad(ary){
for(var i = 0; i < ary.length; i++){
console.log(i);
$("#td").append("<tr>"
+"<td>"+ary[i].id+"</td><td>"+ary[i].name+"</td><td>"+ary[i].age+"</td>"
+"</tr>"
);
}
}



</script>
</head>
<body>
<table>
<thead id="th">
<tr>
<td colspan="3">员工信息</td>
</tr>
<tr>
<td>id</td><td>姓名</td><td>年龄</td>
</tr>
</thead>
<tbody id="td">
<tr>
<td>id</td><td>姓名</td><td>年龄</td>
</tr>
</tbody>
</table>

<div id="pageGro" class="cb">
<div class="pageFirst">首页</div>
<div class="pageUp">上一页</div>
<div class="pageList">
<ul>
<li class="on">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
<div class="pageDown">下一页</div>
<div class="pageEnd">末页</div>
<div class="pageSum">第<span id="span_pageNum"></span>页/ 共<span id="span_countPage"></span>页</div>
</div>
</body>
</html>
...全文
257 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
小_孔 2017-08-21
  • 打赏
  • 举报
回复
已经解决了,谢谢了, 是我在调用自己方法时,重复执行了绑定函数,导致点击事件多次执行,所以会有重复查询。 $(".pageDown").off("click").on("click",{pageNum:page.pageDown},loadData); 加上off函数就好了
小_孔 2017-08-21
  • 打赏
  • 举报
回复
我是想复用加载首页那个请求,不想每个按钮都写一个请求
小_孔 2017-08-21
  • 打赏
  • 举报
回复
我写的代码可以实现分页功能,但是看控制台会有很多重复查询,按钮点击越多次,越慢,不知道哪里出的问题,可以帮我看下吗
小_孔 2017-08-18
  • 打赏
  • 举报
回复
咋还沉了呢···
DenggLin 2017-08-18
  • 打赏
  • 举报
回复
没看你的, 我自己简单的写了一个,代码没整合

$(function(){
	$('.pageList ul li').click(function(){
		$('.pageList ul li').removeClass('on');
		$(this).addClass('on');
		//加上请求数据地址
		var pageNum=$(this).html();
		console.log(pageNum);
	});
	//下一页
	$('.pageDown').click(function(){
		console.log("下一页");
		$('.pageList ul li').each(function(index,ele){
			$(ele).html(parseInt($(ele).html())+1);
		})
		var pageNum=$('.pageList ul li.on').html();
		console.log(pageNum);
		//加上请求数据地址
	});
	//上一页
	$('.pageUp').click(function(){
		console.log("上一页");
		$('.pageList ul li').each(function(index,ele){
			var curPage=parseInt($(ele).html())-1;
			if(curPage<1){
				 return false
			}
			else{
				$(ele).html(curPage);
			}
			
		})
		var pageNum=$('.pageList ul li.on').html();
		console.log(pageNum);
		//加上请求数据地址

	});
	//首页
		$('.pageFirst').click(function(){
		console.log("首页");
		$('.pageList ul li').each(function(index,ele){
			var curPage=index+1;
			if(curPage<1){
				 return false
			}
			else{
				$(ele).html(curPage);
			}
			
		});
		$('.pageList ul li').removeClass('on');
		$('.pageList ul li').eq(0).addClass('on');
		var pageNum=$('.pageList ul li.on').html();
		// debugger
		console.log(pageNum);
		//加上请求数据地址
	});
	//末页   有多少页后端会告诉你  假如有100页
		$('.pageEnd').click(function(){
		console.log("末页");
		$('.pageList ul li').each(function(index,ele){
			var curPage=100-(4-index);
			if(curPage<1){
				 return false
			}
			else{
				$(ele).html(curPage);
			}
			
		});
		$('.pageList ul li').removeClass('on');
		$('.pageList ul li').eq(4).addClass('on');
		var pageNum=$('.pageList ul li.on').html();
		// debugger
		console.log(pageNum);
		//加上请求数据地址

	});
})

小_孔 2017-08-17
  • 打赏
  • 举报
回复
求大神帮忙!

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧