本文介绍如何使用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;
}
},
运行效果展示
完成上述配置后,功能即可正常运行。具体运行效果如下图所示:


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