//对分页资料进行处理的类
/*
options:
{
Data:数据,jquery返回的json类型资料
PageSize:每页数量
PageStart:显示的记录的起始位置
CallBack: 数据循环显示的回调函数
CallBackBefort:数据循环显示前使用的回调函数
}
AttriBute:
{
PageSize:每页数量
PageStart:起始资料
}
function:
{
SetData(数据源,是否设置起始记录位置为0):重新设置一个数据源
PageCount():当前数据源的记录总数
CallBack():
CallBackBefore():
get():处理数据,获得相关的正确的分页资料,如果实际位置小于0 则置成第一页,如果实际位置大于记录数,则设置成最后一页
Show(跳转参数):根据参数,处理分页数据,并且执行两个回调函数(0:第一页,1:上一页,2:下一页 ,其他:最后页)
}
*/
var zjPagination=function(options)
{
var options=options || [];
//把数据封装起来,不允许从外面再更新数据
var _Data=options.Data || [];
this.Data=function()
{
return _Data;
}
this.SetData=function(o,blnRefStart)
{
blnRefStart=blnRefStart||true;
_Data=o || this._Data;
if(blnRefStart)
{
this.PageStart=0;
}
}
//分页数量 默认10条记录一页
this.PageSize=options.PageSize || 10 ;
//起始记录位置
this.PageStart=options.PageStart || 0;
//记录总数
this.PageCount=function()
{
return $(_Data).size();
}
//数据循环时候的回调函数 i:数据的索引 items:对应对象
this.CallBack=options.CallBack || function(i,items){ return [];}
//在数据循环回调前执行的函数
this.CallBackBefore=options.CallBackBefore || function(){}
this.get=function()
{
var intSize=this.PageCount();
if(this.PageStart>=intSize)
{
this.PageStart=parseInt(intSize/this.PageSize)*this.PageSize;
if(this.PageStart>=intSize)
{
this.PageStart=intSize-this.PageSize;
}
}
if(this.PageStart<0)
{
this.PageStart=0;
}
var refO=new Object();
var o=$(this.Data() || []);
if(o.size()>=0){
var j=0;
for(var i=this.PageStart;i<o.size();i++)
{
if(j>=this.PageSize)
{
break;
}
refO[j]=o[i];
j++;
}
//this.PageCount=intSize;
return refO;
}else{
return [];
}
}
//获得最开始资料
this.First=function()
{
this.PageStart=0;
return this.get();
}
//获得最后一页资料
this.Last=function()
{
this.PageStart=this.PageCount();
return this.get();
}
//上翻页
this.Up=function()
{
this.PageStart=this.PageStart-this.PageSize;
return this.get();
}
//下翻页
this.Down=function()
{
this.PageStart=this.PageStart+this.PageSize;
return this.get();
}
this.Show=function(intPageType)
{
intPageType=intPageType || 0;
var o=[];
switch(intPageType)
{
case 0:
o=this.First();
break;
case 1:
o=this.Up();
break;
case 2:
o=this.Down();
break;
default:
o=this.Last();
break;
}
// o=this.get();
this.CallBackBefore();
$.each(o,this.CallBack);
}
}
使用
var thisPage=new zjPagination({
CallBack:function(a,b){ //此回调函数的写法,参考 $.each(d,function(a,b){})} 中的回调
CallBackBefore:function(){ alert('开始循环取值了'); }
});
thisPage.SetData(json);
<a href="javascript:thisPage.Show(1);">上一页</a>
分享到:
相关推荐
- Web服务返回JSON格式的分页数据,jQuery接收到数据后,使用`$.parseJSON()`或`JSON.parse()`方法解析JSON字符串为JavaScript对象。 - 使用这些数据更新页面上的表格或列表,实现无刷新的效果。 ### 4. 示例代码 ...
在前后端通信中,JSON通常作为数据传输的载体,因为它与JavaScript语法高度兼容,能够无缝转换为JavaScript对象。 三、无刷新分页原理 无刷新分页的核心是利用Ajax技术进行异步数据请求。用户在翻页时,页面不需要...
在Web开发中,服务器通常会通过Ajax请求返回JSON数据,供前端JavaScript处理和展示。 要使用jQuery获取JSON数据,我们通常会使用`$.ajax()`或`$.getJSON()`方法。`$.ajax()`是一个更全面的异步HTTP(Ajax)请求方法...
总结来说,"jquery json 搜索与分页效果代码"这个压缩包可能包含了一个示例项目,演示了如何利用jQuery处理前端搜索和分页,同时通过Ajax与后端交互,处理JSON数据。这个例子对于学习和实践Web前端开发中的数据检索...
在这个场景中,jQuery被用来处理DOM操作,如动态加载表格数据和执行分页效果。 2. **JSON(JavaScript Object Notation)**:JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在...
因为Json可以直接被JavaScript解析为对象,所以在Jquery中处理Json数据非常方便。 无刷新分页插件的工作原理如下: 1. 用户请求:当用户点击分页按钮时,Jquery会捕获这个事件,并通过Ajax(Asynchronous ...
本实例将深入探讨如何使用jQuery实现基于JSON的无刷新分页功能,这是一种提高用户体验的有效方法,因为它允许用户在不重新加载整个页面的情况下查看更多的内容。 **jQuery** 是一个轻量级的JavaScript库,它简化了...
本项目名为“自己写的jQuery分页根据json分页”,表明这是一个使用jQuery库实现的自定义分页功能,该功能依赖于JSON数据进行数据交换。 jQuery是一个轻量级、高性能的JavaScript库,它简化了HTML文档遍历、事件处理...
总结来说,这个项目展示了如何在ASP.NET中利用jQuery进行Ajax请求,结合JSON传输数据,实现动态分页。用户无须刷新整个页面,只需点击分页按钮,后台就能通过Handler处理请求,返回指定页码的数据,再由jQuery更新...
在分页场景中,Spring 可以管理业务对象和数据访问层,如通过Spring的DAO支持与数据库进行交互,获取和存储分页数据。此外,Spring AOP可以用于记录日志、事务管理等操作,确保分页过程的完整性和一致性。 **iBatis...
本项目使用Servlet、JSON、JavaScript(JQuery)和JSP技术实现了一个简单易懂、功能完善的分页解决方案。 **Servlet** 是Java服务器端编程的基础,它负责处理HTTP请求和响应。在分页应用中,Servlet主要负责接收...
在分页场景下,服务器端通常会生成一个JSON对象,包含了当前页的数据,然后通过Ajax请求传递给客户端。 实现页面无刷新分页的步骤如下: 1. **HTML结构**:在页面上设置好分页的基础结构,例如页码按钮和内容区域...
4. **处理响应**:在jQuery的AJAX回调函数中,解析JSON响应,然后动态更新列表内容,同时更新分页导航的状态。 5. **事件绑定**:确保每次分页链接被点击时,都会执行上述过程,可以使用`.on()`方法绑定事件监听器...
- C#后端接收到请求后,返回包含分页数据的JSON字符串,例如:`{ "data": [ { "id": 1, "name": "item1" }, ... ], "total": 50 }`,其中`data`是实际数据,`total`是总记录数。 4. **前端处理响应**: - jQuery...
本资源“jquery json 搜索与分页效果代码.zip”显然是一个包含示例代码的压缩包,用于演示如何利用jQuery库处理JSON数据并实现搜索及分页功能。以下是对这两个关键知识点的详细说明: **jQuery** 是一个轻量级的...
本文将详细介绍如何利用JQuery、Ajax与JSON技术来实现动态分页显示,并通过一个具体案例进行阐述。 #### 技术栈介绍 - **JQuery**:一款快速、简洁的JavaScript库,极大地简化了HTML文档遍历、事件处理、动画等...
jQuery获取到JSON数据后,可以使用JavaScript的内置函数`JSON.parse()`将其转换为JavaScript对象,便于进一步处理。例如: ```javascript var jsonData = '{"name":"John", "age":30, "city":"New York"}'; var ...
在JavaScript中,反射主要通过内置的对象如`Object`、`Function`等实现,但在JSON和jQuery的分页插件中,反射的概念并不直接涉及,更多的是涉及到数据的解析和方法的调用。 在提供的压缩包文件中,`jquery-1.5.1.js...