jQuery ajax分页插件实例代码


Posted in Javascript onJanuary 27, 2016

推荐阅读:jQuery插件开发精品教程让你的jQuery提升一个台阶

既然说到基于jQuery的ajax分页插件,那我们就先看看主要的代码结构:(我觉得对咱们程序员来说再优美的文字描述、介绍也

比不上代码来得实在。)

1、首先定义一个pager对象:

var sjPager = window.sjPager = {
opts: {
//默认属性
pageSize: ,
preText: "pre",
nextText: "next",
firstText: "First",
lastText: "Last",
shiftingLeft: ,
shiftingRight: ,
preLeast: ,
nextLeast: ,
showFirst: true,
showLast: true,
url: "",
type: "POST",
dataType: "JSON",
searchParam: {},
beforeSend: null,
success: null,
complete: null,
error: function () {
alert("抱歉,请求出错,请重新请求!");
},
},
pagerElement: null,//分页dom元素
commonHtmlText: {
//公共文本变量
},
init: function (obj, op) {
//对象初始化
},
doPage: function (index, pageSize, searchParam) {
//执行分页方法
},
getTotalPage: function () {
//获取总页数
},
createPreAndFirstBtn: function (pageTextArr) {
//创建上一页、首页按钮链接
},
createNextAndLastBtn: function (pageTextArr) {
//创建下一页、尾页按钮链接
},
createIndexBtn: function (pageTextArr) {
//中间分页索引按钮链接
},
renderHtml: function (pageTextArr) {
//渲染分页控件到页面
},
createSpan: function (text, className) {
//创建span
},
createIndexText: function (index, text) {
//创建索引文本
},
jumpToPage: function () {
//跳转到
}
}

对象包含了分页的属性及用到的方法,doPage()为分页的核心方法。

2、进行jQuery扩展

$.fn.sjAjaxPager = function (option) {
return sjPager.init($(this), option);
};

  3、插件使用

<body>
<table id="dataTable" border="px"></table>
<div id="pager"></div>
</body> 
$(function() {
$('#pager').sjAjaxPager({
url: "Handler.ashx",
pageSize: ,
searchParam: {
/*
* 如果有其他的查询条件,直接在这里传入即可
*/
id: ,
name:'test',
},
beforeSend: function () {
},
success: function (data) {
/*
*返回的数据根据自己需要处理
*/
var tableStr = "<tr><td>Id</td><td>姓名</td><td>年龄</td></tr>";
$.each(data.items, function(i,v) {
tableStr += "<tr><td>" + v.Id + "</td><td>" + v.Name + "</td><td>" + v.Age + "</td></tr>";
});
$('#dataTable').html(tableStr);
},
complete: function () {
}
});
})

有没有发现使用方式与直接使用ajax基本是一样一样的?

最后我们可以看下出来的效果:(表格样式没有设置比较丑,分页样式自己也可以根据需要修改css文件)

jQuery ajax分页插件实例代码

jQuery ajax分页插件实例代码

F12打开调试工具,点击分页查看发送的请求及响应:

jQuery ajax分页插件实例代码

jQuery ajax分页插件实例代码

pageIndex和pageSize为插件默认的参数,在后台可以直接在Request中获取。特别需要注意的是插件的响应也是需要遵循特定的格式{"total":0,"items":[]},如上图中所示total代表数据总记录数,items代表分页的数据。

下面在来看一个jquery ajax分页插件的例子

对1.0版进行了重构,去掉了一些花销的功能,优化了页面样式,现有功能:

1)、一次性把数据加载到页面内存,在页面进行分页。
2)、使用jquery的ajax每次从服务器取数据分页。
3)、支持自定义分页条样式,插件默认实现两种样式可供选择。

<table id="table2" > 
<thead> 
<tr><th width="200px">网站名称</th> 
<th width="100px">网址</th> 
<th width="100px">知名度</th> 
<th width="120px">访问量</th> 
</tr> 
</thead> 
<tbody></tbody> 
</table> 
$("#table2").bigPage({ajaxData:{url:"ajax.php"}});
Javascript 相关文章推荐
优秀js开源框架-jQuery使用手册(1)
Mar 10 Javascript
JqGrid web打印实现代码
May 31 Javascript
JS高级拖动技术 setCapture,releaseCapture
Jul 31 Javascript
动态加载dtree.js树treeview(示例代码)
Dec 17 Javascript
js中直接声明一个对象的方法
Aug 10 Javascript
javascript实现支持移动设备画廊
Aug 24 Javascript
JS平滑无缝滚动效果的实现代码
May 06 Javascript
JavaScript中的Object对象学习教程
May 20 Javascript
JavaScript文件的同步和异步加载的实现代码
Aug 19 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
Oct 10 Javascript
深入理解webpack process.env.NODE_ENV配置
Feb 23 Javascript
JavaScript实现切换多张图片
Jan 27 Javascript
JavaScript+html5 canvas绘制的小人效果
Jan 27 #Javascript
jquery ajax分页插件的简单实现
Jan 27 #Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
Jan 27 #Javascript
APP中javascript+css3实现下拉刷新效果
Jan 27 #Javascript
jQuery EasyUi实战教程之布局篇
Jan 26 #Javascript
jQuery Easyui实现左右布局
Jan 26 #Javascript
AngualrJS中的Directive制作一个菜单
Jan 26 #Javascript
You might like
PHP中几个常用的魔术常量
2012/02/23 PHP
微信支付开发交易通知实例
2016/07/12 PHP
PHP中list方法用法示例
2016/12/01 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
jquery等待效果示例
2014/05/01 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
jQuery的ready方法实现原理分析
2016/10/26 Javascript
JS完成画圆圈的小球
2017/03/07 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
python网络编程示例(客户端与服务端)
2014/04/24 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
为智能设备设计个性化保护套网站:caseable
2017/01/05 全球购物
一封普通求职者的求职信
2013/11/20 职场文书
文明教师事迹材料
2014/01/16 职场文书
教师个人鉴定材料
2014/02/08 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
公职人员索取回扣检举信
2014/04/04 职场文书
10的分与合教学反思
2014/04/30 职场文书
产品推广策划方案
2014/05/10 职场文书
幼儿教师求职信
2014/05/24 职场文书
大专学生求职自荐信
2014/07/06 职场文书
交通处罚决定书
2015/06/24 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android