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 相关文章推荐
论坛特效代码收集(落伍转发-不错)
Dec 02 Javascript
jquery右下角弹出提示框示例代码
Oct 08 Javascript
js将字符串转成正则表达式的实现方法
Nov 13 Javascript
js中不同的height, top的区别对比
Sep 24 Javascript
什么是JavaScript中的结果值?
Oct 08 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
Apr 13 Javascript
浅谈Node.js 子进程与应用场景
Jan 24 Javascript
Vue SSR 组件加载问题
May 02 Javascript
React组件内事件传参实现tab切换的示例代码
Jul 04 Javascript
浅析Vue.js中v-bind v-model的使用和区别
Dec 04 Javascript
JS实现横向轮播图(中级版)
Jan 18 Javascript
小程序表单认证布局及验证详解
Jun 19 Javascript
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
PHP编码规范-php coding standard
2007/03/16 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
2016/06/13 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
JS 控制非法字符的输入代码
2009/12/04 Javascript
jQuery实现给页面换肤的方法
2015/05/30 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
jquery写出PC端轮播图实例
2018/01/26 jQuery
vue实现日历表格(element-ui)
2020/09/24 Javascript
[52:12]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python超简单解决约瑟夫环问题
2015/05/12 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
Python while循环使用else语句代码实例
2020/02/07 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
英国100%防污和防水的靴子:Muck Boot Company
2020/09/08 全球购物
园林设计师自荐信
2013/11/18 职场文书
中文教师求职信
2014/02/22 职场文书
合同意向书范本
2014/07/30 职场文书
事业单位聘任报告
2015/03/02 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
Spring 使用注解开发
2022/05/20 Java/Android