首页前端开发HTML前后端结合实现amazeUI分页效果

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

时间2024-01-25 06:31:41发布访客分类HTML浏览559
导读:收集整理的这篇文章主要介绍了前后端结合实现amazeUI分页效果,觉得挺不错的,现在分享给大家,也给大家做个参考。 前后端结合实现amazeUI分页,代码如下所示;借鉴本文在博客https://blog.csdn.net/brav...
收集整理的这篇文章主要介绍了前后端结合实现amazeUI分页效果,觉得挺不错的,现在分享给大家,也给大家做个参考。

前后端结合实现amazeUI分页,代码如下所示;

借鉴

本文在博客https://blog.csdn.net/brave_coder/article/details/52367124的基础上实现的,非常感谢大佬的分享。

前端实现

1、引入paginator.js

(function ($) {
    $.fn.paginator = function (options) {
        //this指向当前的选择器        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);
        //计算按钮的总个数         //获取offset参数        var queryString = function (url) {
                var offset = (url.split("?")[1]).split("=")[1];
                return parseInt(offset);
        }
         //ajax核心方法,用于分页的数据操作        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();
                    //否则,清空所有的节点,重新向DOM插入新的分页按钮                var output = "";
                    var nextBar = offset == opts.totalBars ? "li class=\"am-disabled\">
    a yxhref=\"javascript:;
    \">
    »/a>
    /li>
    " : "li>
    a yxhref=\"" + opts.url + (offset + 1) + "\">
    »/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 &
    &
 offset = opts.totalBars - 4) {
                            //当页面大于7个的时候,那么在第五个和倒数第五个时,执行                        output += preBar;
                            output += "li>
    a yxhref=\"" + opts.url + 1 + "\">
    " + 1 + "/a>
    /li>
    ";
                            //第一个                        output += "li>
    span>
    .../span>
    /li>
    ";
     //省略号                         output += "li>
    a yxhref=\"" + opts.url + (offset - 1) + "\">
    " + (offset - 1) + "/a>
    /li>
    ";
                             output += "li class=\"am-active\">
    a  yxhref=\"" + opts.url + offset + "\">
    " + offset + "/a>
    /li>
    ";
                             output += "li>
    a yxhref=\"" + opts.url + (offset + 1) + "\">
    " + (offset + 1) + "/a>
    /li>
    ";
                             output += "li>
    span>
    .../span>
    /li>
    ";
     //省略号;
                             output += "li>
    a yxhref=\"" + opts.url + (opts.totalBars) + "\">
    " + (opts.totalBars) + "/a>
    /li>
    ";
     //尾页                         output += nextBar;
                     }
     else if (offset >
     opts.totalBars - 4 &
    &
 offset = opts.totalBars) {
                            //当页面位于倒数第四个时候                        output += preBar;
                            output += "li>
    a yxhref=\"" + opts.url + 1 + "\">
    " + 1 + "/a>
    /li>
    " + "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>
    ";
                            }
 else {
                                    output += "li>
    a yxhref=\"" + opts.url + (opts.totalBars - j) + "\">
    " + (opts.totalBars - j) + "/a>
    /li>
    ";
                            }
                        }
                            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>
    ";
                        }
 else {
                                output += "li>
    a yxhref=\"" + opts.url + i + "\">
    " + i+ "/a>
    /li>
    ";
                        }
                    }
                        output += nextBar;
                }
                    $(opts.pageParent).append(output);
                    opts.offset = offset;
 //将偏移量赋值给config里面的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);
    //执行初始化ajax方法            var preBar = "li class=\"am-disabled\">
    a yxhref=\"javascript:;
    \">
    «/a>
    /li>
    ";
                //上一页,(禁用的效果)            //如果只有一页,那么禁用下一页            var nextBar = opts.totalBars >
     1 ? "li>
    a yxhref=\"" + opts.url + 2 + "\">
    »/a>
    /li>
    " : "li class=\"am-disabled\">
    a yxhref=\"javascript:;
    \">
    »/a>
    /li>
    ";
                //最后一页            var output = "li class=\"am-active\">
    a yxhref=\"" + opts.url + 1 + "\">
    1/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>
    ";
                }
            }
 else {
                    for (var j = 1;
     j  5;
 j++) {
                        output += "li>
    a yxhref=\"" + opts.url + (j + 1) + "\">
    " + (j + 1) + "/a>
    /li>
    ";
                }
                    output += "li>
    span>
    .../span>
    /li>
    ";
                    output += "li>
    a yxhref=\"" + opts.url + (opts.totalBars) + "\">
    " + (opts.totalBars) + "/a>
    /li>
    ";
            }
            $(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 ListReturnUtils>
 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");
            ListReturnUtils>
     list = iNumberCheckService.selectNumberCheckByCont(offset, limit);
            return list;
    }
    

总结

到此这篇关于前后端结合实现amazeUI分页的文章就介绍到这了,更多相关amazeUI分页内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 前端H5 Video常见使用场景简介下一篇:AmazeUI 加载进度条的实现示例猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: 前后端结合实现amazeUI分页效果
本文地址: https://pptw.com/jishu/586225.html
AmazeUI 加载进度条的实现示例 amazeui 验证按钮扩展的实现

游客 回复需填写必要信息