利用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 ...
随机推荐
- Note: Eleos: ExitLess OS Services for SGX Enclaves
Eleos increased I/O and memory intensive SGX program execution performance with In-enclave system ca ...
- 最短路——弗洛伊德算法(floyd)
模板: #include <bits/stdc++.h> using namespace std; ][]; int n,m,x,z,y; <<; int main() { c ...
- eros --- Windows Android真机调试
1.下载并安装JDK 2.下载并安装Android Studio 上面两项不管用weex还是eros都是前置条件,度娘有大量教程. 开始eros 手脚架安装: $ npm i -g eros-cli ...
- Hyperledger Cello 安装遇到问题
Hyperledger Cello 安装遇到问题 8083 我跟着这篇教程 https://github.com/hyperledger/cello/blob/master/docs/setup_m ...
- ie9下网页设计兼容模式
个人实践使用:ie9下使用低版本ie兼容模式,在网站第一个页面的<head>标签后使用<meta http-equiv="X-UA-Compatible" con ...
- kubernetes(安装dashboard)
https://blog.csdn.net/qq_22917163/article/details/84527420 1. 通过yaml文件安装dashboard 我们可以从https://githu ...
- 微信小程序在sublime开发代码高亮显示
问题:xxx.wxml 和xxx.wxss在subline中不高亮不显示 如下图,开发起来非常的不方便 解决办法:右下角将Plain Text改为Html,问题解决,可高亮,提高代码可读性,可提示,提 ...
- rgb值转换成16进制
由于jQuery获取css中的background有时候是rgb值,所以往往需要一个转换函数. 以前觉得难,还写个博客记录,现在觉得好容易. let testColor = "rgb(20, ...
- 修改Gradle本地仓库
问题描述 Gradle 默认的本地仓库为 C:\Users\用户名\.gradle,不想让其一直下载东西占用 C 盘资源. 解决方法 新建环境变量名:GRADLE_USER_HOME,变量值为:D:\ ...
- springBoot集成web service
转载大神: https://blog.csdn.net/u011410529/article/details/68063541?winzoom=1 https://blog.csdn.net/nr00 ...