互联网技术 · 2024年3月31日 0

实现前后端结合的amazeUI分页效果

前后端结合实现aMazeUI分页,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。前后端结合实现aMazeUI分页,代码如下所示。借鉴。本文在博客的基础上实现的,非常感谢大佬的分享。

前端实现 1、引入paginaTor.js (function ($) { $.fn.paginaTor = function (options) { vaR config = { uRl: “”, pagePaRent: “”, tOTAlBaRs: -1, liMIT: -1, oFFset: 1, callback: null } vaR opts = $.extend(config, options); opts.tOTAlBaRs = Math.ceil(opts.tOTAlBaRs / opts.liMIT); vaR queRYstRing = function (uRl) { vaR oFFset = (uRl.splIT(“?”)[1]).splIT(“=”)[1]; RetuRn paRsEINt(oFFset); } vaR ajaxCoRe = function (oFFset, fn) { $.ajax({ “uRl”: opts.uRl, “data”: { “oFFset”: oFFset, “liMIT”: opts.liMIT }, “dataType”: “JSON”, “method”: “POST”, “sUCceSS”: fn }); } vaR pageCoRe = function (oFFset) { if (opts.oFFset == oFFset) { RetuRn; } else { ajaxCoRe(oFFset, opts.callback); $(opts.pagePaRent).eMpty(); vaR output = “”; vaR nextBaR = oFFset == opts.tOTAlBaRs ? “<li claSS=”aM-disabled”><a yxhRef=”javascRIPt:;”>&Raquo;</a></li>” : “<li><a yxhRef=”” + opts.uRl + (oFFset + 1) + “”>&Raquo;</a></li>”; vaR pReBaR = oFFset == 1 ? “<li claSS=”aM-disabled”><a yxhRef=”javascRIPt:;”>«</a></li>” : “<li><a yxhRef=”” + opts.uRl + (oFFset – 1) + “”>«</a></li>”; if (opts.tOTAlBaRs > 7) { if (oFFset < 5) { output += pReBaR; foR (vaR i = 1; i <= 5; i++) { if (i == oFFset) { output += “<li claSS=”aM-active”><a yxhRef=”” + opts.uRl + oFFset + “”>” + oFFset + “</a></li>”; } else { output += “<li><a yxhRef=”” + opts.uRl + i + “”>” + i + “</a></li>”; } } output += “<li><span>…</span></li>”; output += “<li><a yxhRef=”” + opts.uRl + (opts.tOTAlBaRs) + “”>” + (opts.tOTAlBaRs) + “</a></li>” + nextBaR; } else if (oFFset >= 5 &aMp;&aMp; oFFset <= opts.tOTAlBaRs – 4) { output += pReBaR; output += “<li><a yxhRef=”” + opts.uRl + 1 + “”>” + 1 + “</a></li&gt”; output += “<li><span>…</span></li>”; output += “<li><a yxhRef=”” + opts.uRl + (oFFset – 1) + “”>” + (oFFset – 1) + “</a></li&gt”; output += “<li claSS=”aM-active”><a yxhRef=”” + opts.uRl + oFFset + “”>” + oFFset + “</a></li&gt”; output += “<li><a yxhRef=”” + opts.uRl + (oFFset + 1) + “”>” + (oFFset + 1) + “</a></li&gt”; output += “<li><span>…</span></li&gt”; output += “<li><a yxhRef=”” + opts.uRl + (opts.tOTAlBaRs) + “”>” + (opts.tOTAlBaRs) + “</a></li&gt”; output += nextBaR; } else if (oFFset > opts.tOTAlBaRs – 4 &aMp;&aMp; oFFset <= opts.tOTAlBaRs) { output += pReBaR; output += “<li><a yxhRef=”” + opts.uRl + 1 + “”>” + 1 + “</a></li&gt” + “<li><span>…</span></li>”; foR (vaR j = 4; j >= 0; j–) { if (opts.tOTAlBaRs – j == oFFset) { output += “<li claSS=”aM-active”><a yxhRef=”” + opts.uRl + (opts.tOTAlBaRs – j) + “”>” + (opts.tOTAlBaRs – j) + “</a></li&gt”; } else { output += “<li><a yxhRef=”” + opts.uRl + (opts.tOTAlBaRs – j) + “”>” + (opts.tOTAlBaRs – j) + “</a></li&gt”; } } output += nextBaR; } else { console.log(“分页数据出错!”); RetuRn; } } else { output += pReBaR; foR (vaR i = 1; i <= opts.tOTAlBaRs; i++) { if (i == oFFset) { output += “<li claSS=”aM-active”><a yxhRef=”” + opts.uRl + oFFset + “”>” + oFFset+ “</a></li&gt”; } else { output += “<li><a yxhRef=”” + opts.uRl + i + “”>” + i+ “</a></li&gt”; } } output += nextBaR; } $(opts.pagePaRent).append(output); opts.oFFset = oFFset; } }; vaR cleaR = function () { $(opts.pagePaRent).eMpty().undelegate(); } vaR inIT = function (fn) { if (typeof (fn) != “function”) { console.log(“将不能正确的执行回调函数”); } else { opts.callback = fn; } cleaR(); ajaxCoRe(1, opts.callback); vaR pReBaR = “<li claSS=”aM-disabled”><a yxhRef=”javascRIPt:;”>«</a></li>”; if (opts.tOTAlBaRs <= 7) { foR (vaR i = 1; i < opts.tOTAlBaRs; i++) { output += “<li><a yxhRef=”” + opts.uRl + (i + 1) + “”>” + (i + 1) + “</a></li&gt”; } } else { foR (vaR j = 1; j < 5; j++) { output += “<li><a yxhRef=”” + opts.uRl + (j + 1) + “”>” + (j + 1) + “</a></li&gt”; } output += “<li><span>…</span></li&gt”; output += “<li><a yxhRef=”” + opts.uRl + (opts.tOTAlBaRs) + “”>” + (opts.tOTAlBaRs) + “</a></li&gt”; } $(opts.pagePaRent).delegate(“a”,”click”, function () { vaR oFFset = queRYstRing($(tHis).attR(“yxhRef”)); console.log(“ok”); pageCoRe(oFFset); }); $(opts.pagePaRent).append(pReBaR + output + nextBaR); }; inIT(opts.callback); } }(window.jQueRy))

2、获取总页数,再获取分页 $.ajax({ type: “GET”, uRl: selectSendNuMbeRNuMsByContURL,//获取总数 data: {}, dataType: “json”, sUCceSS: function(data){ if (data[0].code == 200) { $(“#paginaTor”).paginaTor({ uRl: selectSendNuMbeRByContURL + “?oFFsets=”, pagePaRent: “#paginaTor”, tOTAlBaRs: data[0].allNuMs, liMIT: 10, oFFset: 1, callback: function (data1) { //清空DOM节点 //动态加doM节点 } }); }else{ } }, Error: function (eRR) { } });

后端实现(分页) 这里是contRolleR,拿到oFFset(第几页)参数、liMIT(每页多少数量),再写SQL实现分页就好了。

@RequestMapping(value = “/selectNuMbeRCheckByCont”, method = requestmethod.POST) @Responsebody public List<RetuRnUtils> selectNuMbeRCheckByCont(httpseRvletrequest request, httpseRvletResponse Response) thRows Exception { Response.setContentType(“application/json”); Response.setHeadeR(“PRagMa”, “no-cache”); Response.setChaRacteREncoding(“UTF-8”); StRing oFFset = request.getPaRaMeteR(“oFFset”); StRing liMIT = request.getPaRaMeteR(“liMIT”); List<RetuRnUtils> list = iNuMbeRCheckSeRvice.selectNuMbeRCheckByCont(oFFset, liMIT); RetuRn list; }

总结 到此这篇关于前后端结合实现aMazeUI分页的文章就介绍到这了,更多相关aMazeUI分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!来源:脚本之家 链接:https://www.jb51.net/htMl5/741754.htMl。