利用ajax实现分页效果
在网页中看到的分页效果,想一下就点击分页中的内容的时候,然后调用ajax调出对应的数据,正确的显示在相应的标签内。
1.用html实现正确的样式和结构
2.采用jquery中的ajax调出数据。
需要向后台问的是接口,参数(当前哪一个,一页显示多少数据),其他的就是如果需要将数据区分开来,就是需要相对应的参数
不想看代码的话,我就只是说一下基本的思路吧:pageSize(一页显示几个)pageIndex(当前是第几页)
一正确显示
1执行ajax一开始的时候pageIndex=0或者=1表示第一页的数据。(等于几问你们组里的后台)在pageSize里面填写你需要一页显示几个数据,成功函数中就是你需要的数据
2获取需要分成几页
如果后台有一个字段表示的是总的数据的数量最好了,如果没有,你就先不设置pageSize这个,先获取到全部的数据的数量,然后将全部的数据的数量dataSum/一页显示几个数据pageSize;
这样你开始分页应该显示就正确了。
二点击页码
1.点击某一页的时候,将这个值赋值给pageIndex,调取ajax获取到这个页码的时候的数据。将成功函数中获取到的数据就是你需要的数据了
$(function(){
//显示数据以及分页
var page=0;
var Npage=0;
var pageSize=4;
//获取数据
function getList(obj_result,obj_page,type,page,pageSize,options){
$.ajax({
url:'xxxx,
/*data:{
flowType:type,
psPage:page+1,
psPageSize:pageSize,
},*/
data:$.extend({
flowType:type,
psPage:page+1,
psPageSize:pageSize,
},options),
dataType:'json',
async:false,
success:function(data){
var result=data.flowList;
switch(type){
case 1:
var total=data.privateFlowTotal;//总的数量
Npage=Math.ceil(total/pageSize);//总的页数
break;
case 2:
var total=data.publicFlowTotal;//总的数量
Npage=Math.ceil(total/pageSize);//总的页数
break;
default:
var total=data.myFlowTotal;//总的数量
Npage=Math.ceil(total/pageSize);//总的页数
break;
}
$("#"+obj_page+"").empty();
for(var i=1;i<Npage+1;i++){
var $li=$("<li class="+"page"+">"+i+"</li>");
$("#"+obj_page+"").append($li);
}
$("#"+obj_result+"").empty();
if(result.length>=pageSize){
for(var i=0;i<pageSize;i++){
var name=result[i].flowname==""?"名称":result[i].flowname;
var state=result[i].state;
switch(state){
case 1:
state="已发布到私有云";
break;
case 2:
state="已发布到共有云";
break;
default:
state="未发布";
break;
}
var time=result[i].sync;
time=UnixToDate(time/1000);
var $li=$("<li class='col-md-2'>" +
"<div class='front'>" +
"<p style='width:100%;'><img style='margin-top:30px' src='images/process-icon.png' alt='' class='process-icon'/></p>" +
"<span>"+name+"</span><p>状态:"+state+"</p><p>时间:"+time+"</p>" +
"</div>" +
"<div class='behind'>" +
"<a class='bd-btn edit-process'>编辑流程</a>" +
"<a class='bd-btn preview-process show-preview-layer'>预览流程</a>" +
"<div class='operate-list mt46'>" +
"<i class='operate-icons set-icon'></i>" +
"<i class='operate-icons issue02-icon'></i>" +
"<i class='operate-icons copy02-icon'></i>" +
"<i class='operate-icons del-icon'></i>" +
"</div>" +
"<a ><img src='images/user-pic.png' alt='' class='user-pic mt45'/></a>" +
"</div>" +
"</li>");
$("#"+obj_result+"").append($li);
}
}else{
for(var i=0;i<result.length;i++){
var name=result[i].flowname==""?"名称":result[i].flowname;
var state=result[i].state;
switch(state){
case 1:
state="已发布到私有云";
break;
case 2:
state="已发布到共有云";
break;
default:
state="未发布";
break;
}
var time=result[i].sync;
time=UnixToDate(time/1000);
var $li=$("<li class='col-md-2'>" +
"<div class='front'>" +
"<p style='width:100%;'><img style='margin-top:30px' src='images/process-icon.png' alt='' class='process-icon'/></p>" +
"<span>"+name+"</span><p>状态:"+state+"</p><p>时间:"+time+"</p>" +
"</div>" +
"<div class='behind'>" +
"<a class='bd-btn edit-process'>编辑流程</a>" +
"<a class='bd-btn preview-process show-preview-layer'>预览流程</a>" +
"<div class='operate-list mt46'>" +
"<i class='operate-icons set-icon'></i>" +
"<i class='operate-icons issue02-icon'></i>" +
"<i class='operate-icons copy02-icon'></i>" +
"<i class='operate-icons del-icon'></i>" +
"</div>" +
"<a ><img src='images/user-pic.png' alt='' class='user-pic mt45'/></a>" +
"</div>" +
"</li>");
$("#"+obj_result+"").append($li);
/*var $li=$("<li class="+"col-md-2"+"><div class="+"front"+"><p style="+"width:100%;"+"><img style="+"margin-top:30px"+" src="+"images/process-icon.png"+" alt="+""+" class="+"process-icon"+"/></p><span>"+name+"</span><p>状态:"+state+"</p><p>时间:"+time+"</p></div" +
">" +
"<div class="+"behind"+"><a class="+"bd-btn edit-process"+">编辑流程</a><a class="+"bd-btn preview-process show-preview-layer"+">预览流程</a><div class="+"operate-list mt46"+"><i class="+"operate-icons set-icon"+"></i><i class="+"operate-icons issue02-icon"+"></i><i class="+"operate-icons copy02-icon"+"></i><i class="+"operate-icons del-icon"+"></i></div><a href="+"#"+"><img src="+"images/user-pic.png"+" alt="+""+" class="+"user-pic mt45"+"/></a></div></li>");
$("#"+obj_result+"").append($li);*/
}
}
}
})
};
//当前的
getList("myState0","Npage0",0,0,pageSize);//
clickPage("myState0","Npage0",0,"fa-search0","search0");
clickPrev("myState0","Npage0","prev0",0,"fa-search0","search0");
clickNext("myState0","Npage0","next0",0,"fa-search0","search0");
search("myState0","Npage0",0,0,"fa-search0","search0");
//共有的
getList("myState1","Npage1",1,0,pageSize);
clickPage("myState1","Npage1",1,"fa-search1","search1");
clickPrev("myState1","Npage1","prev1",1,"fa-search1","search1");
clickNext("myState1","Npage1","next1",1,"fa-search1","search1");
search("myState1","Npage1",1,0,"fa-search1","search1");
//私有的
getList("myState2","Npage2",2,0,pageSize);
clickPage("myState2","Npage2",2,"fa-search2","search2");
clickPrev("myState2","Npage2","prev2",2,"fa-search2","search2");
clickNext("myState2","Npage2","next2",2,"fa-search2","search2");
search("myState2","Npage2",2,0,"fa-search2","search2");
//点击确定的哪一分页
function clickPage(obj_result,obj_page,type,search_btn,search_text){
$("#"+obj_page+"").on("click",".page",function(){
page=$(this).text()-1;
search_result(obj_result,obj_page,type,page,pageSize,search_text);
/*getList(obj_result,obj_page,type,page,4,options);*/
$("#"+obj_page+"").find("li").eq($(this).text()-1).css("background","#eee").siblings().css("background","#fff");
});
};
//点击上一个
function clickPrev(obj_result,obj_page,obj_btn,type,search_btn,search_text){
$("#"+obj_btn+"").click(function(){
if(page<=0){
page=1;
}
page=page-1;
search_result(obj_result,obj_page,type,page,pageSize,search_text);
$("#"+obj_page+"").find("li").eq(page).css("background","#eee").siblings().css("background","#fff");
});
return false;
};
//点击下一个
function clickNext(obj_result,obj_page,obj_btn,type,search_btn,search_text){
$("#"+obj_btn+"").click(function(){
if(page>=Npage-2){
page=Npage-2;
}
page=page+1;
search_result(obj_result,obj_page,type,page,pageSize,search_text);
$("#"+obj_page+"").find("li").eq(page).css("background","#eee").siblings().css("background","#fff");
});
};
//搜索
function search(obj_result,obj_page,type,page,search_btn,search_text){
$("."+search_btn+"").click(function(){
search_result(obj_result,obj_page,type,page,4,search_text);//注意这块有个限制一页显示多少的数字
});
};
//出现搜索的结果
function search_result(obj_result,obj_page,type,page,pageSize,search_text){
var text=$("#"+search_text+"").val();
var options={
flowName:text
}
getList(obj_result,obj_page,type,page,pageSize,options);
};
//时间戳返回成日期
function UnixToDate(unixTime, isFull, timeZone) {
if (typeof (timeZone) == 'number')
{
unixTime = parseInt(unixTime) + parseInt(timeZone) * 60 * 60;
}
var time = new Date(unixTime * 1000);
var ymdhis = "";
ymdhis += time.getUTCFullYear() + "-";
ymdhis += (time.getUTCMonth()+1) + "-";
ymdhis += time.getUTCDate();
if (isFull === true)
{
ymdhis += " " + time.getUTCHours() + ":";
ymdhis += time.getUTCMinutes() + ":";
ymdhis += time.getUTCSeconds();
}
return ymdhis;
}
});
利用ajax实现分页效果的更多相关文章
- Python-Flask:利用flask_sqlalchemy实现分页效果
Flask-sqlalchemy是关于flask一个针对数据库管理的.文中我们采用一个关于员工显示例子. 首先,我们创建SQLALCHEMY对像db. from flask import Flask, ...
- javascript 利用数组制作分页效果
代码 参数: pageSize:一页的总数 currentPage:当前的页数 skipNum:跳过的数量 arr:数组 返回值: newArr分页后的数组 var pagination = func ...
- thinkphp ajax 无刷新分页效果的实现
思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...
- 利用Linq + Jquery + Ajax 异步分页的实现
在Web显示的时候我们经常会遇到分页显示,而网上的分页方法甚多,但都太过于消耗带宽,所以我想到了用Ajax来分页,利用返回的Json来处理返回的数据, 大大简化了带宽的压力. 先说下思路,无非就是异步 ...
- 利用jquery+iframe做一个ajax上传效果
以下是自学it网--中级班上课笔记 网址:www.zixue.it html页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict ...
- ajax分页效果、分类联动、搜索功能
一.使用smarty+ajax+php实现无刷新分页效果 效果图 <!DOCTYPE html> <html lang="en"> <head> ...
- 5.Hibernate实现全套增删改查和ajax异步分页
1.1 创建如下oracle数据库脚本 drop sequence seq_stu; create sequence SEQ_STU minvalue maxvalue start increment ...
- PHP+JQUEY+AJAX实现分页
HTML <div id="list"> <ul></ul> </div> <div id="pagec ...
- PHP+JQUEY+AJAX实现分页【转】
HTML CSS #list{width:680px; height:530px; margin:2px auto; position:relative} #list ul li{float:left ...
随机推荐
- Log4NET的日志框架的使用
日志信息分类 1.等级由低到高:debug<info<warn<Error<Fatal; 2.区别: debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系 ...
- 使用 typescript ,提升 vue 项目的开发体验(2)
此文已由作者张汉锐授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. vuex-class 提供了和 vuex 相关的全部装饰器,从而解决了上面 Vue.extend + vue ...
- Unity MMORPG游戏优化经验分享
https://mp.weixin.qq.com/s/thGF2WVUkIQYQDrz5DISxA 今天由Unity技术支持工程师高岩,根据实际的技术支持工作经验积累,分享如何对Unity MMORP ...
- 反射实现增删改查(DAO层)——插入数据
先贴出代码,后续补充自己的思路.配置文件.使用方式: /** * 插入数据 */ @Override public void addObject(Object object, String table ...
- 一起来造一个RxJava,揭秘RxJava的实现原理
一类创业者基本都是做传统行业的,这类创业者非常大胆,也非常舍得投入.很多时候他们如果看到或者想到一个商机,就会投入成千上百万,先把产品做出来,然后再去想怎么开拓市场. 这类传统行业的老板,问我最多的问 ...
- 小程序启用slot -- 传入 wxml标签
options:{ multipleSlots:true } 直接看:https://www.jianshu.com/p/b22c9e075931
- shell学习(11)- seq
今天是五一劳动节,窗户外边,草长莺飞,惠风和畅,但坐在办公室里值班也需要做点事情,今天就写写seq的用法. 作用:用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且 ...
- $each 遍历json字符串
$.each遍历json对象 查看一个简单的jQuery的例子来遍历一个JavaScript数组对象. var json = [ {"id":"1",&qu ...
- CSS(一)清除浮动
问题1:关于清除浮动 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 牛客练习赛41D(思维转化)
AC通道 要点 思路:题解中将所求进行转化\[max\{相似度\} = max\{M-不相似度\} = M-min\{不相似度\}\]因此转化为求某01串T与所给众S串的最小不相似度,而最终答案是选取 ...