基于jquery的ajax分页插件(demo+源码)

  前几天打开自己的博客园主页,无意间发现自己的园龄竟然有4年之久了。可是看自己的博客列表却是空空如也,其实之前也有写过,但是一直没发布(然而好像并没有什么卵用)。刚开始学习编程时就接触到博客园,且在博客园学习了很多的知识,看过很多人的分享。说来也惭愧,自己没能为园友们分享自己的所学所得(毕竟水平比较差)。

  过去的一年也是辗转了几个城市换了几份工作(注定本命年不太平?)。八月份来到现在所在的公司(OTA行业),公司是做互联网的,所以可能大家的前端都屌屌的?之前一直从事.NET开发(现在在这边也是),js也用的很少。于是趁着这个机会跟着大家学学js。本文要说到的插件就是在学习的过程中自己开发的。

  如果你还对jQuery插件开发没有任何了解,推荐一篇文章 http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html(博客园的前端大神很多啊,前段时间在园子看到很多优秀的js文章)

  如果有javascript基础,用过jquery,看了上面的文章,我相信妈妈再也不用担心你不会jQuery插件开发了。

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

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

 1 var sjPager = window.sjPager = {
 2         opts: {
 3             //默认属性
 4             pageSize: 10,
 5             preText: "pre",
 6             nextText: "next",
 7             firstText: "First",
 8             lastText: "Last",
 9             shiftingLeft: 3,
10             shiftingRight: 3,
11             preLeast: 2,
12             nextLeast: 2,
13             showFirst: true,
14             showLast: true,
15             url: "",
16             type: "POST",
17             dataType: "JSON",
18             searchParam: {},
19             beforeSend: null,
20             success: null,
21             complete: null,
22             error: function () {
23                 alert("抱歉,请求出错,请重新请求!");
24             },
25         },
26         pagerElement: null,//分页dom元素
27         commonHtmlText: {
28             //公共文本变量
29         },
30         init: function (obj, op) {
31             //对象初始化
32         },
33         doPage: function (index, pageSize, searchParam) {
34             //执行分页方法
35         },
36         getTotalPage: function () {
37             //获取总页数
38         },
39         createPreAndFirstBtn: function (pageTextArr) {
40             //创建上一页、首页按钮链接
41         },
42         createNextAndLastBtn: function (pageTextArr) {
43             //创建下一页、尾页按钮链接
44         },
45         createIndexBtn: function (pageTextArr) {
46             //中间分页索引按钮链接
47         },
48         renderHtml: function (pageTextArr) {
49             //渲染分页控件到页面
50         },
51         createSpan: function (text, className) {
52             //创建span
53         },
54         createIndexText: function (index, text) {
55             //创建索引文本
56         },
57         jumpToPage: function () {
58             //跳转到
59         }
60     }

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

  2、进行jQuery扩展

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

  3、插件使用

1 <body>
2
3     <table id="dataTable" border="1px"></table>
4     <div id="pager"></div>
5 </body>
 1     $(function() {
 2             $(‘#pager‘).sjAjaxPager({
 3                 url: "Handler1.ashx",
 4                 pageSize: 10,
 5                 searchParam: {
 6                     /*
 7                     * 如果有其他的查询条件,直接在这里传入即可
 8                     */
 9                     id: 1,
10                     name:‘test‘,
11                 },
12                 beforeSend: function () {
13                 },
14                 success: function (data) {
15                     /*
16                     *返回的数据根据自己需要处理
17                     */
18                     var tableStr = "<tr><td>Id</td><td>姓名</td><td>年龄</td></tr>";
19                     $.each(data.items, function(i,v) {
20                         tableStr += "<tr><td>" + v.Id + "</td><td>" + v.Name + "</td><td>" + v.Age + "</td></tr>";
21                     });
22
23                     $(‘#dataTable‘).html(tableStr);
24                 },
25                 complete: function () {
26                 }
27             });
28
29
30         })

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

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

  

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

  

  

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

  这里只有代码的大体结构及呈现的效果,大家不妨自己先动手实现一下,需要源码的可以去我的github下载:https://github.com/sujing910206/ajax-pager

写在最后:

  最后,请允许我矫情一下下(此处应该有害羞的表情⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄)。本命年终于快过去,过去的一年离开了呆了六年的地方还有很多一起玩耍的小伙伴,当然也加入了单身狗行列。只身来到深圳,或许是对这座城市的年轻与激情的向往,又或是喜欢这边冬天的温暖(然而上个周末被冻成了狗)。其实从很小开始就一个人在外面求学、工作,早已习惯了一个人在外面漂泊,难道是我这一生注定放纵不羁爱自由?哈哈哈哈。刚来这边的时候除了不适应还是不适应,可谓人生地不熟,也没有怎么出去玩过。现在也是,每天基本都是两点一线,周末才偶尔会去打打球唱唱歌来自娱自乐。终于快等到了猴年马月,新的一年希望我的生活能更丰富、交更多的朋友(女朋友),在撸代码的道路上继续前进,领悟更多的编程思想。新的一年最大的一个目标与心愿就是把英语学好(至少做到阅读无障碍,可怜的我大学四级都未能过,看来要下很大的功夫了),但是我相信如果能拿出当时自学编程的那份激情与坚持,我也可以做到的。

时间: 2024-10-10 07:30:48

基于jquery的ajax分页插件(demo+源码)的相关文章

10个web前端基于jQuery和css3动画插件及源码

1.jQuery横向手风琴图片展示插件 今天我们要来介绍一款非常酷的jQuery插件,它是一款横向的手风琴图片展示切换插件,每一张图片初始都是水平层叠在一起,点击图片后即可切换至下一张,并且在图片切换时出现水平移动的动画特效.另外你可以定义任意数量的图片应用在这个手风琴图片插件中. 在线演示 源码下载 2.纯css3实现的鼠标经过按钮特效 今天再给大家带来一款纯css3实现的鼠标经过按钮特效.这款按钮非常简单,但效果很好,非常漂亮. 在线演示 源码下载 3.FreeIconMaker - 在线创

浅谈jQuery Pagination Ajax 分页插件的使用

插件介绍 此插件是jQuery的ajax分页插件.分页切换时无刷新也无延迟,因为是一次性加载的.如果你用到此插件作分页的时候,涉及到的数据量大,建议不要使用此插件,因为加载慢会导致用户体验不好! 插件使用 此插件使用比较简单.主要引入以下文件就可以用了 1.jquery.js依赖库 2.pagination.css 这个主要是样式,我们在元素使用的时候将分页列表放在class类为pagination的标签内即可 <div class='pagination'></div> 3.jq

10款基于jquery的web前端特效及源码下载

1.jQuery时间轴插件:jQuery Timelinr 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚动.支持键盘方向键.经过扩展后可以支持鼠标滚轮事件. 在线演示一 在线演示二 在线演示三 源码下载 2.使用Ctrl+Enter提交表单 我们发表微博或论坛发帖时,在内容输入框中输入完内容后,可以点击 提交 按钮来发表内容.可是,如果你够 懒 ,你可以不用动鼠标,只需按住键盘上的Ctrl+Enter

10款炫酷的jQuery和css3动画插件及源码

1.jQuery超酷平面时钟特效插件 这是一个非常具有创意的jQuery时钟插件,它不像其他的时钟插件一样是圆盘的或者是数字的,它是一个平面时钟,日期和时分秒的指针都是在平面上移动计时的,尽管这款jQuery平面时钟插件不能广泛应用,但是创意是绝对可以肯定的. 在线演示 源码下载 2.4款基于jquery的列表图标动画切换特效 网页中列表图标随处可见,特别是移动网页上,基本上的导航都采用了列表图标.今天给大家分享4款基于juqery的列表图标和关闭图标的动画切换特效. 在线演示 源码下载 3.随

基于jQuery左右滑动切换特效 附源码

分享一款基于脚jQuery左右滑动切换特效.这是一款鼠标点击左右箭头按钮图片滚动切换,鼠标移到图片上显示透明边框特效. 效果图如下: 废话不多说,代码奉上! html代码: 1 <div class="bodyCon08"><!--学员--> 2 <div class="students"> 3 4 <div id="four_flash"> 5 <div class="flashB

jQuery Pagination Ajax分页插件

下载地址:https://github.com/gbirke/jquery_pagination 参数 参数名 描述 参数值 maxentries 总条目数 必选参数,整数 items_per_page 每页显示的条目数 可选参数,默认是10 num_display_entries 连续分页主体部分显示的分页条目数 可选参数,默认是10 current_page 当前选中的页面 可选参数,默认是0,表示第1页 num_edge_entries 两侧显示的首尾分页的条目数 可选参数,默认是0 li

基于android 图像基本处理项目demo源码释放(jarlen)

功能介绍 图片编辑(图片添加,文字添加),实现图片编辑中的图片添加,旋转,缩放,删除:文字的添加,大小缩放,字体更换,颜色更换,删除: 基本滤镜实现与接口封装: 涂鸦(画笔的样式,粗细,颜色,橡皮擦,贴图): 相框(简单相框,酷炫相框): 马赛就克(基本马赛克,酷炫马赛克,橡皮擦)及其接口封装 ; 图像剪切,旋转等功能实现测试接口封装: GIF与MP4,图片互转实现测试与接口封装: 基本框架介绍 cn.ffmpeg gif mp4 互转 com.js.photosdk.bodywarp 图片变形

jquery ajax分页插件特效源代码demo完整版

原文:jquery ajax分页插件特效源代码demo完整版 源代码下载地址:http://www.zuidaima.com/share/1550463586798592.htm 网上找的,原版本没有测试数据和建表脚本啥的,我给加上了.

[原创]jquery+css3打造一款ajax分页插件

最近公司的项目将好多分页改成了ajax的前台分页以前写的分页插件就不好用了,遂重写一个 支持IE6+,但没有动画效果如果没有硬需求,个人认为没必要多写js让动画在这些浏览器中实现css3的动画本来就是帮我们取代js中这部分动画代码的使js更纯粹地去实现逻辑 效果图如下: 调用代码如下: 包括常用的加载失败重试,参数可配置是否能手动输入页码,设置按钮数目,可以调用多个page等等,调用代码很简便 <script type="text/javascript"> var kpag