jQuery插件pagination实现无刷新分页


Posted in Javascript onMay 21, 2016

这篇文章我们主要看看简单的使用jQuery pagination这个插件来实现无刷新分页,使用jQuery pagination主要作用在于分页样式的显示,而无刷新的主要原理还是使用Ajax,具体看下文:

首先,我们引入jQuery文件、jQuery pagination文件和jQuery Templates文件。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
<script src="http://www.jquery001.com/js/jquery.tmpl.js" type="text/javascript"></script> 
<script src="http://www.jquery001.com/js/jquery.pagination.js" type="text/javascript"></script>

接下来,先看看HTML标记,分别用来呈现数据项和分页样式显示,如下:

<!--显示列表--> 
<div id="content-left"></div> 
<!--分页样式显示--> 
<div id="Pagination" class="pagination"></div> 
<!--jQuery Templates--> 
<script id="Template" type="text/html"> 
<div class="item"> 
  <h3><a href="${Url}" target="_blank">${Title}</a></h3> 
  <p>${Subject}</p> 
</div> 
</script>

下边就需要取得我们所需要的数据了,如果你看过前两篇jQuery Templates的文章,你就会意识到我们需要返回javascript对象来进行数据的绑定,这里我们还是返回JSON。主要还是用拼串的形式最终返回如下JSON结构:

var req={ 
    "articlelist": 
    [ 
      {"Title":"文章标题1","Url":"文章Url1","Subject":"文章概要1"}, 
      {"Title":"文章标题2","Url":"文章Url2","Subject":"文章概要2"}, 
      {"Title":"文章标题3","Url":"文章Url3","Subject":"文章概要3"} 
    ] 
  };

为了方便很多新学习JSON的朋友,在这里给出点后台输出JSON的C#代码,如下:

if (dt != null && dt.Rows.Count > 0) 
{ 
  StringBuilder strResult = new StringBuilder(); 
  strResult.Append("{\"articlelist\":["); 
  foreach (DataRow dr in dt.Rows) 
  { 
    strResult.Append("{\"Title\":\"" + dr["Title"].ToString() + "\","); 
    strResult.Append("\"Url\":\"" + dr["Url"].ToString() + "\","); 
    strResult.Append("\"Subject\":\"" + dr["Subject"].ToString() + "\"},"); 
  } 
  //移除末尾',' 
  strResult.Remove(strResult.Length - 1, 1); 
  strResult.Append("]}"); 
  //输出json 
  Response.Write(strResult.ToString()); 
  Response.End(); 
}

关于JSON本站中已经有很多次提到了,如果有不了解的可以找找。这样当我们使用"articlelist"时,它就相当于一个对象数组,使得我们很容易的能绑定数据。下边是前台代码:

$(document).ready(function () { 
  //TotalNum 总数 这里写死了 
  var TotalNum = 200; 
  //首次加载 
  pageselectCallback(0); 
  //分页事件 
  $("#Pagination").pagination(200, { 
    prev_text: "上一页", 
    next_text: "下一页", 
    num_edge_entries: 2, 
    num_display_entries: 8, 
    //回调 
    callback: pageselectCallback 
  }); 
 
  function pageselectCallback(page) { 
    var result = ""; 
    $.ajax({ 
      type: "post", 
      dataType: "json", 
      url: "getdata.aspx", //请求的url 
      data: { "page": parseInt(page + 1) }, 
      success: function (req) { 
        //使用微软jQuery Templates绑定数据列表,实现了HTML与js分离,使得页面整洁 
        $("#content-left").html($("#Template").render(req.articlelist)); 
      } 
    }); 
  } 
});

这样,我们就使用jQuery pagination实现了无刷新分页,文中并没有过多的介绍jQuery pagination,而是将侧重点置于jQuery Templates的使用,但也希望对大家有一定的帮助。

Javascript 相关文章推荐
jQuery ajax 路由和过滤器使用说明
Aug 02 Javascript
Jquery数字上下滚动动态切换插件
Aug 08 Javascript
js实现仿微博滚动显示信息的效果
Dec 21 Javascript
jQuery Mobile 触摸事件实例
Jun 04 Javascript
js初始化验证实例详解
Nov 26 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
Jul 19 Javascript
详解Vue 全局引入bass.scss 处理方案
Mar 26 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
Sep 30 Javascript
JavaScript命名空间模式实例详解
Jun 20 Javascript
json_decode 索引为数字时自动排序问题解决方法
Mar 28 Javascript
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
jQuery实现tab栏切换效果
Dec 22 jQuery
JavaScript中对JSON对象的基本操作示例
May 21 #Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 #Javascript
jQuery EasyUI Pagination实现分页的常用方法
May 21 #Javascript
总结JavaScript设计模式编程中的享元模式使用
May 21 #Javascript
在JavaScript中模拟类(class)及类的继承关系
May 20 #Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 #Javascript
JavaScript中用let语句声明作用域的用法讲解
May 20 #Javascript
You might like
使用无限生命期Session的方法
2006/10/09 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
Yii操作数据库的3种方法
2014/03/11 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
jquery实现图片上传之前预览的方法
2015/07/11 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
jQuery 遍历map()方法详解
2016/11/04 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
Python贪心算法实例小结
2018/04/22 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
2020/06/14 Python
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
批评与自我批评材料
2014/02/15 职场文书
宿舍保安职务说明书
2014/02/25 职场文书
聘用意向书
2014/07/29 职场文书
2014国庆黄金周超市促销活动方案
2014/09/21 职场文书
银行招聘自荐信
2015/03/06 职场文书
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
Java 多态分析
2022/04/26 Java/Android