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 相关文章推荐
学习javascript,实现插入排序实现代码
Jul 31 Javascript
图片在浏览器中底部对齐 解决方法之一
Nov 30 Javascript
JS跨域总结
Aug 30 Javascript
页面实时更新时间的JS实例代码
Dec 18 Javascript
js调试工具Console命令详解
Oct 21 Javascript
javascript中数组和字符串的方法对比
Jul 20 Javascript
简单实现js悬浮导航效果
Feb 05 Javascript
pm2 部署 node的三种方法示例
Oct 20 Javascript
vue2.0自定义指令示例代码详解
Apr 25 Javascript
Emberjs 通过 axios 下载文件的方法
Sep 03 Javascript
layui弹出框Tab选项卡的示例代码
Sep 04 Javascript
jquery实现购物车基本功能
Oct 25 jQuery
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获取汉字首字母并且分组排序详解
2017/10/22 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
js form action动态修改方法
2008/11/04 Javascript
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
Windows 系统下设置Nodejs NPM全局路径
2016/04/26 NodeJs
bootstrap vue.js实现tab效果
2017/02/07 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
vue如何获取点击事件源的方法
2017/08/10 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
Python编程之微信推送模板消息功能示例
2017/08/21 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
python 自动批量打开网页的示例
2019/02/21 Python
Python pip替换为阿里源的方法步骤
2019/07/02 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
Java语言程序设计测试题判断题部分
2013/01/06 面试题
学习“七一”讲话精神体会
2014/07/08 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
法制工作总结2015
2015/07/23 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL