jquery ajax分页插件的简单实现


Posted in Javascript onJanuary 27, 2016

说到基于jQuery的ajax分页插件,那我们就先看看主要的代码结构:

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

var sjPager = window.sjPager = {
  opts: {
   //默认属性
   pageSize: 10,
   preText: "pre",
   nextText: "next",
   firstText: "First",
   lastText: "Last",
   shiftingLeft: 3,
   shiftingRight: 3,
   preLeast: 2,
   nextLeast: 2,
   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="1px"></table>
  <div id="pager"></div>

 </body>
$(function() {
   $('#pager').sjAjaxPager({
    url: "Handler1.ashx",
    pageSize: 10,
    searchParam: {
     /*
     * 如果有其他的查询条件,直接在这里传入即可
     */
     id: 1,
     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分页插件的简单实现

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

jquery ajax分页插件的简单实现

jquery ajax分页插件的简单实现

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

这里只有代码的大体结构及呈现的效果,大家不妨自己先动手实现一下。

Javascript 相关文章推荐
将HTML自动转为JS代码
Jun 26 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
Apr 14 Javascript
字段太多jquey快速清空表单内容方法
Aug 21 Javascript
让图片跳跃起来  javascript图片轮播特效
Feb 16 Javascript
全面了解JS中的匿名函数
Jun 29 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
Aug 05 Javascript
JQuery Ajax WebService传递参数的简单实例
Nov 02 Javascript
Node学习记录之cluster模块
May 31 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
Sep 19 Javascript
layui添加动态菜单与选项卡
Jul 26 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
May 08 Javascript
vue基于better-scroll实现左右联动滑动页面
Jun 30 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
js实现网页图片延时加载 提升网页打开速度
Jan 26 #Javascript
详解javascript new的运行机制
Jan 26 #Javascript
You might like
php 错误处理经验分享
2011/10/11 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
使用xampp搭建运行php虚拟主机的详细步骤
2015/10/21 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
javascript单页面手势滑屏切换原理详解
2016/03/21 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
jquery ztree实现右键收藏功能
2017/11/20 jQuery
实例讲解Vue.js中router传参
2018/04/22 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
python生成器推导式用法简单示例
2019/10/08 Python
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
美国在线家具网站:GDFStudio
2021/03/13 全球购物
解除合同协议书
2014/04/17 职场文书
关于建议书的格式范文
2014/05/20 职场文书
副总经理任命书
2014/06/05 职场文书
学生吸烟检讨书
2014/09/14 职场文书
2014入党积极分子批评与自我批评思想报告
2014/10/06 职场文书
2014年护理部工作总结
2014/11/14 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
领导视察通讯稿
2015/07/18 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android