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
js图片上传前预览功能(兼容所有浏览器)
Aug 24 Javascript
BootStrap无限级分类(无限极分类封装版)
Aug 26 Javascript
jQuery使用Layer弹出层插件闪退问题
Dec 22 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
Jan 26 Javascript
VueJS如何引入css或者less文件的一些坑
Apr 25 Javascript
JS手机端touch事件计算滑动距离的方法示例
Oct 26 Javascript
小程序hover-class点击态效果实现
Feb 26 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
Jun 27 Javascript
layui使用label标签的方法
Sep 14 Javascript
js中调用微信的扫描二维码功能的实现代码
Apr 11 Javascript
通过实例解析javascript Date对象属性及方法
Nov 04 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中常用的转义函数
2014/02/28 PHP
ThinkPHP字符串函数及常用函数汇总
2014/07/18 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
javascript常用的方法整理
2015/08/20 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
js表达式与运算符简单操作示例
2020/02/15 Javascript
vuex Module将 store 分割成模块的操作
2020/12/07 Vue.js
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
python的faker库用法
2019/11/28 Python
在python中使用nohup命令说明
2020/04/16 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
《小松树和大松树》教学反思
2014/02/20 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
青岛导游词
2015/02/12 职场文书
2015年药店店长工作总结
2015/04/29 职场文书
企业法人任命书
2015/09/21 职场文书