基于bootstrap-paginator.js实现Ajax异步分页的完整示例

作者:半夏时间:2026-10-21 23:23:57浏览:489

本文介绍如何使用bootstrap-paginator.js插件结合Ajax技术实现异步分页功能。通过定义获取评论的Ajax函数,并修改插件源码中的onPageClicked事件处理逻辑,实现点击分页按钮时动态加载数据。示例包含完整的JavaScript代码片段及运行效果截图,适用于需要无刷新分页的Web开发场景。

异步分页功能概述

利用bootstrap-paginator.js插件进行Ajax异步分页请求的实现方案

具体实施步骤如下:

Ajax请求函数定义

第一步,定义一个用于执行异步提交请求的Ajax函数,其完整代码结构如下:

核心数据获取逻辑


var nid= $("#lbnid").val(); // 获取当前新闻编号 
var cpage = 1; // 当前页面号 
var tpage = 10; // 总页面数 
 
 
function getPaging() { 
  getComment(cpage); //获取新闻评论 
} 
 
//点击查看新闻评论 
$("#one2").click(function () { 
  getPaging(); 
}); 
 
//获取新闻评论评论 
function getComment(page) { 
  $.ajax({ 
    type: "get", 
    data: nid, 
    async: "false", 
    url: "/comment/GetComment?nid=" + nid+ "&page=" + page, 
    success: function (info) { 
 
      changeModel(info); // 更新局部页面 
 
      var totalpage = $("#totalpage").val(); //当前页面号 
      var curtpage = $("#curtpage").val(); // 总页面号 
      if (curtpage && totalpage) { 
        cpage = curtpage; 
        tpage = totalpage; 
      } 
 
      display(cpage, tpage); //显示评论 
 
    }, 
 
    error: function () { 
      alert("加载失败!请稍后重试!"); 
    } 
 
  }); 
} 
 
/*  obj: ajax 返回的html 数据 */ 
// 更新局部页面  
function changeModel(obj) { 
 
  var comt = $(".Comments"); 
  comt.replaceWith("<div class=Comments>" + obj + "</div>"); 
} 
 
 
/* curreentpage: 当前页面号; tpage: 总的页面数 */ 
//显示新闻评论 
function display(curtpage, tpage) { 
  var options = { 
    bootstrapMajorVersion: 3,//版本 
    currentPage: curtpage, //当前页数 
    numberOfPages: 10,//设置显示的页码数 
    totalPages: tpage, //总页数 
    itemTexts: function (type, page, current) { 
      switch (type) { 
        case "first": 
          return "首页"; 
        case "prev": 
          return "上一页"; 
        case "next": 
          return "下一页"; 
        case "last": 
          return "末页"; 
        case "page": 
          return page; 
      } 
    }, 
  } 
  $("#page").bootstrapPaginator(options); 
} 

插件源码修改

随后,需要对原有的bootstrap-paginator.js文件进行修改,这是实现功能的关键环节。

分页点击事件处理


onPageClicked: function (event, originalEvent, type, page) { 
 
  //show the corresponding page and retrieve the newly built item related to the page clicked before for the event return 
 
  var currentTarget = $(event.currentTarget); 
 
  switch (type) { 
  case "first": 
    currentTarget.bootstrapPaginator("showFirst"); 
    getComment(page); // 自定义的获取新闻评论的方法,一宝要记得添加这个自定义的函数        
    break; 
  case "prev": 
    currentTarget.bootstrapPaginator("showPrevious"); 
    getComment(page); 
    break; 
  case "next": 
    currentTarget.bootstrapPaginator("showNext"); 
    getComment(page); 
    break; 
  case "last": 
    currentTarget.bootstrapPaginator("showLast"); 
    getComment(page); 
    break; 
  case "page": 
    currentTarget.bootstrapPaginator("show", page); 
    getComment(page); 
    break; 
  } 
 
}, 

运行效果展示

完成上述配置后,功能即可正常运行。具体运行效果如下图所示:

异步分页功能概述

 异步分页功能概述

本文介绍了上述全部内容,希望能为读者的学习提供有益帮助,同时也欢迎读者继续支持本站。

作者最新文章