利用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 ...
随机推荐
- oracle 导入sql文件乱码
查看 http://blog.csdn.net/fireofjava/article/details/53980966
- HierarchyId通过父节点创建一个新的子节点
--HierarchyId通过父节点创建一个新的子节点 CREATE TABLE #temp( node HierarchyID ); insert into #temp select '/' uni ...
- eclipse中项目已经启动,可是tomcat一直显示在启动中
一.异常描述 1. 在eclipse中启动tomcat,应用已经启动成功,但是tomcat仍然一直处于starting装填 二.分析原因 1. 更换8080端口为9080,启动tomcat,可以完整启 ...
- 倍增lca-ZJOI2012 灾难
一个食物网有N个点,代表N种生物,如果生物x可以吃生物y,那么从y向x连一个有向边.这个图没有环.图中有一些点没有连出边,这些点代表的生物都是生产者,可以通过光合作用来生存: 而有连出边的点代表的都是 ...
- [Xcode 实际操作]四、常用控件-(7)UIStepper控件的使用
目录:[Swift]Xcode实际操作 本文将演示步进控件的基本用法.步进控件常用于小范围数值的调整. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import ...
- 浏览器Quirksmode(怪异模式)与标准模式
由于历史的原因,各个浏览器在对页面的渲染上存在差异,甚至同一浏览器在不同版本中,对页面的渲染也不同.在W3C标准出台以前,浏览器在对页面的渲染上没有统一规范,产生了差异(Quirks mode或者称为 ...
- 编写自定义GenericServlet
用途: 编写自定义GenericServlet类后,子类只需继承这个类,就可以直接使用ServletConfig的config对象和ServletConfig接口的方法,而不需要init()方法获取c ...
- d190305面试01过程记录和总结(java开发)
1.签到,做题,注意时间.(疑问:做笔试题的时候,没有人监管吗?作弊怎么办) 2.今天做的是比较基础的题,题型有判断题(8),选择题(10),简答题(3),编程(2)逻辑题(2) (ps:感觉做的还不 ...
- iOS sqlite
iOS sqlite数据库操作.步骤是: 先加入sqlite开发库libsqlite3.dylib, 新建或打开数据库, 创建数据表, 插入数据, 查询数据并打印 1.新建项目sqliteDemo,添 ...
- 浅谈关于SRAM与DRAM的区别
在上体系结构这门课之前,我只知道DRAM用作内存比较多,SRAM用作cache比较多.在今天讲到内存技术时,我对于这两个基础概念有了更加完整的认识.这篇文章是我的听课心得,现在分享给各位,仅供参考,若 ...