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 相关文章推荐
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
Nov 30 Javascript
msn上的tab功能Firefox对childNodes处理的一个BUG
Jan 21 Javascript
JS应用之禁止抓屏、复制、打印
Feb 21 Javascript
基于JQuery的6个Tab选项卡插件
Sep 03 Javascript
Js,alert出现乱码问题的解决方法
Jun 19 Javascript
使用node.js 获取客户端信息代码分享
Nov 26 Javascript
js获取当前时间显示在页面上并每秒刷新
Dec 24 Javascript
浅谈Javascript中的Function与Object
Jan 26 Javascript
ajax图片上传,图片异步上传,更新实例
Dec 30 Javascript
基于jQuery实现简单人工智能聊天室
Feb 10 Javascript
详解如何在vue中使用sass
Jun 21 Javascript
JS实现鼠标移动拖尾
Dec 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使用数组填充下拉列表框的方法
2015/03/31 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
javascript中Object使用详解
2015/01/26 Javascript
jQuery插件ajaxfileupload.js实现上传文件
2020/10/23 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
angular中ui calendar的一些使用心得(推荐)
2017/11/03 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
分享一下Python数据分析常用的8款工具
2018/04/29 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
将python依赖包打包成window下可执行文件bat方式
2019/12/26 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
Python count函数使用方法实例解析
2020/03/23 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
大专毕业生自我鉴定
2013/11/21 职场文书
教师对学生的评语
2014/04/28 职场文书
体育系毕业生自荐信
2014/06/28 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
公司与个人合作协议书
2016/03/19 职场文书
六年级作文之自救
2019/12/19 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript