和之前的那篇布局是一样的,功能是可以实现的,但总觉得封装函数方面还可以再改进一下

CSS部分
<style> .content{ width: 400px; margin:0 auto; } .fenye{ width: 100%;
text-align: center; } a,#pre,#next{ display: inline-table; width: 40px; height:
40px; border-left: thin solid #ccc; border-top: thin solid #ccc; border-bottom:
thin solid#ccc; color: #333; line-height: 40px; cursor: pointer; } #next{
border-right: thin solid #ccc; } a:hover,#pre:hover,#next:hover,.isThis{
background-color: #1E9FFF; border: thin solid #1E9FFF; color: #fff; } </style>
HTML部分
<body> <div class="content"></div> <div class="fenye"></div> </body>
JS部分
<script> var $content=$(".content"); var pageIndex=1;//当前页码 var pageSize=25;
//一页显示的数据量 var totalPage;//总页数 var data; var postData=
'各个后台需要的参数格式不一样,但一般都会要求有每页显示的数据量、当前页码等'; $.ajax({ type:"post", url:"提交的接口",
data:postData, async:false,//默认是true,改为false,可从外部获取在ajax里设置的全局变量 success:
function(result){ var res=JSON.parse(result); data=res.content; var
totalElements=res.totalElements;//数据的总数是后台返回的 totalPage= Math
.ceil(totalElements/pageSize);//总页数,如果后台可以返过来的话,就不需要计算,直接获取就可以了 showFenye();
//显示分页 } }) showData(); //在<div class="content"></div>中显示数据 function showData(){
$content.html(""); postData='各个后台需要的参数格式不一样,但一般都会要求有每页显示的数据量、当前页码等'; $.ajax({
type:"post", url:"提交数据的接口", data:postData, async:false, success:function(result)
{ var res=JSON.parse(result);//将返回数据转为对象 data=res.content;//获取返回数据中的需要显示的数据部分
for(var i=0;i<pageSize && i<data.length;i++){ // var info='<div
class="info"><caption>'+data[i].time+'</caption>      <span>'+data[i].score+'</span></div>';这句话已封装为var
info=creatData(data[i]); var info=creatData(data[i]); $content.append(info); }
} }) }//创建需要插入的数据内容 function creatData(data){ var demo='<div
class="info"><caption>'+data.time+
'</caption>      <span>'+data.score+
'</span></div>'; return demo; } //将分页数据填入分页<div class="fenye"></div> function
showFenye(){ var $fenye=$(".fenye"); var fenyeInfo='<span
id="pre"><<</span>';//<< //中间的页码 for(var i=0;i<totalPage;i++){ var j=i+1;
fenyeInfo+="<a>"+j+"</a>"; } fenyeInfo=fenyeInfo+'<span
id="next">>></span>';//>> $fenye.append(fenyeInfo); }
//以下内容都需要在$fenye.append(fenyeInfo)执行完之后执行,不然在数据还未填充的状态下将无法执行 //isThis为当前页的状态
$($(".fenye a")[0]).addClass("isThis"); //页码点击事件 for(var i=0;i<totalPage;i++){
$(".fenye a")[i].onclick=function(){ pageIndex=$(this).text(); $(".isThis"
).removeClass("isThis"); $(this).addClass("isThis"); showData(); } } //前一页的点击事件
$("#pre").bind("click",function(e){ if(pageIndex>1){ pageIndex=pageIndex-1; $(
".isThis").removeClass("isThis"); $($(".fenye a")[pageIndex-1]).addClass(
"isThis"); showData(); } else{} }) //后一页的点击事件 $("#next").bind("click",function()
{ if(pageIndex<totalPage){ pageIndex=pageIndex+1; $(".isThis").removeClass(
"isThis"); $($(".fenye a")[pageIndex-1]).addClass("isThis"); showData(); } else
{} })</script>
最后的效果和之前那篇后台不带分页的显示效果一样,就不放图了

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信