利用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 ...
随机推荐
- SQL笔记:基础篇
1.BETWEEN AND (查询某个区间的数据) 例如:查询user表中年龄在15-30岁的人 SELECT * FROM user WHERE age between 15 and 30 2.IN ...
- SQL Server 查询分析器提供的所有快捷方式(快捷键)
SQL Server程序员经常要在SSMS(SQL Server Management Studio)或查询分析器(2000以前)中编写T-SQL代码.以下几个技巧,可以提升工作效率. 以下说明以SS ...
- [CentOS7] iconv编程转换
声明:本文主要总结自:鸟哥的Linux私房菜-第九章.vim 程式編輯器,如有侵权,请通知博主 (-- 源自鸟哥的私房菜) 首先用Notepad++新建个文件来做这个实验,在Windows平台下新建个 ...
- Linux中关机和磁盘管理命令
常用的关机命令 shutdown -h 关机 -r 重启 halt poweroff reboot 重启 logout 退出登录命令 磁盘管理命令 df -h 以1024进制计算最合适的单位显示磁盘容 ...
- GoWeb开发_Iris框架讲解(四):Iris框架设置操作
路由组的使用 在实际开发中,我们通常都是按照模块进行开发,同一模块的不同接口url往往是最后的一级url不同,具有相同的前缀url.因此,我们期望在后台开发中,可以按照模块来进行处理我们的请求,对于这 ...
- 深入理解C/C++ [Deep C (and C++)]
编程是困难的,正确的使用C/C++编程尤其困难.确实,不管是C还是C++,很难看到那种良好定义并且编写规范的代码.为什么专业的程序员写出这样的代码?因为绝大部分程序员都没有深刻的理解他们所使用的语言. ...
- css3旋转立方体-_-
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 备份与恢复:MySQL系列之十二
一.备份策略赘述 1.备份的类型 类型1: 热备份:读写不受影响(MyISAM不支持热备,InnoDB支持热备) 温备份:仅可以执行读操作 冷备份:离线备份,读写操作均中止 类型2: 物理备份:复制数 ...
- OJDBC版本区别:ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别
classes12.jar - for Java 1.2 and 1.3ojdbc14.jar - for Java 1.4 and 1.5ojdbc5.jar - for Java 1.5ojdbc ...
- CPU使用情况检测
改编自:https://blog.csdn.net/Yan_Chou/article/details/80456995 检测命令整理: dd iotop df top psiostatvmstatne ...