利用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 ...
随机推荐
- php5.6安装window7安装memcache.dll库所遇到的误区
问题: window7 64位,下载的库 memcache.dll 为64位的,且对应php的版本.但是重启后phpstudy查看phpinfo依然没有memcache: 根源: 发现是下载的 mem ...
- 关于SqlDataReader使用的一点疑惑
C#中的SqlDataReader类(System.Data.SqlClient)是用来在保持打开数据库连接的状态下取数据用的 用法如下图: “保持与数据库的连接”这个特性也是SqlDataReade ...
- “戏精少女”的pandas学习之路,你该这么学!No.5
如果文章图片无法观看,请前往CSDN博客观看 https://blog.csdn.net/hihell 戏精博主即将上线 就在上一篇,梦想橡皮擦这位博主经过艰苦的努力 终于能创建一个dataframe ...
- 73th LeetCode Weekly Contest Escape The Ghosts
You are playing a simplified Pacman game. You start at the point (0, 0), and your destination is(tar ...
- Ceres Solver: 高效的非线性优化库(二)实战篇
Ceres Solver: 高效的非线性优化库(二)实战篇 接上篇: Ceres Solver: 高效的非线性优化库(一) 如何求导 Ceres Solver提供了一种自动求导的方案,上一篇我们已经看 ...
- 工作经验(JNI篇)
我的工作是C++开发,主要是做底层的,由于要做跨平台的原因,常会做成JNI给Java调用,下面是工作时总结的经验希望有用 JNI只能使用C语言的方式编译,所以,要使用C++的话,要用 extern & ...
- SpringBoot | 第八章:统一异常、数据校验处理
前言 在web应用中,请求处理时,出现异常是非常常见的.所以当应用出现各类异常时,进行异常的捕获或者二次处理(比如sql异常正常是不能外抛)是非常必要的,比如在开发对外api服务时,约定了响应的参数格 ...
- SpringBoot | 第零章:前言
缘起 前段时间公司领导叫编写一两课关于springboot的基础知识培训课程,说实话,也是今年年初才开始接触了SpringBoot这个脚手架,使用了之后才发现打开了一个新世界.再之后也没有一些系统的学 ...
- arcgis 定位图斑,并且高亮显示
///图斑定位 function TabQuery(instance_id, layer_name) { require(["esri/map", "esri/geome ...
- java(itext) 一个很简单的PDF表格生成工具
先上个效果图 因为做的项目涉及到数据预测,其中有大量打印业务来支撑实体店的运营,因为注重的是数据,要求简洁,清晰,所以写了个很简单也很实用的工具类. 如果需要编写样式或者插入背景,都可以查阅itex官 ...