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 相关文章推荐
用显卡加速,轻松把笔记本打造成取暖器的办法!
Apr 17 Javascript
jquery对象和DOM对象的区别介绍
Aug 09 Javascript
js判断字符长度及中英文数字等
Mar 19 Javascript
js添加select下默认的option的value和text的方法
Oct 19 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
Mar 01 Javascript
JS中Location使用详解
May 12 Javascript
html判断当前页面是否在iframe中的实例
Nov 30 Javascript
判断滚动条滑到底部触发事件(实例讲解)
Nov 15 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
May 10 Javascript
微信小程序mpvue点击按钮获取button值的方法
May 29 Javascript
vue-router为激活的路由设置样式操作
Jul 18 Javascript
如何在现代JavaScript中编写异步任务
Jan 31 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
php垃圾代码优化操作代码
2010/08/05 PHP
php连接mssql数据库的几种方法
2013/02/21 PHP
async和DOM Script文件加载比较
2014/07/20 PHP
php中的动态调用实例分析
2015/01/07 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
自定义jQuery选项卡插件实例
2013/03/27 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
Python操作Excel之xlsx文件
2017/03/24 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
python多线程共享变量的使用和效率方法
2019/07/16 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
Python any()函数的使用方法
2019/10/28 Python
pandas-resample按时间聚合实例
2019/12/27 Python
将python文件打包exe独立运行程序方法详解
2020/02/12 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
物流管理毕业生自荐信范文
2014/03/15 职场文书
教师考核材料
2014/05/21 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
从np.random.normal()到正态分布的拟合操作
2021/06/02 Python