美文网首页
带有2个分页联动效果的实现

带有2个分页联动效果的实现

作者: day_day_up | 来源:发表于2016-11-09 08:38 被阅读0次

    使用场景

    pagetwo.jpg

    使用的插件方法等

    1.分页插件是用的团队在线文档中的Mricode.Pagination
    2.简单的上一页下一页的分页,实现不麻烦自己写了。
    3.这里的测试数据是用rap系统的模拟的mock数据。

    实现过程

    1.重构比较简单,不做说明,有问题可以参考demo页面。
    2.先现通过Mricode.Pagination实现底部的分页,

    //分页 在ajax回调里面初始化分页
        function bulidPager(data, PageIndex, PageSize) {
            var total = data.Total;
            if ($("#pager").pagination()) {
                $("#pager").pagination('destroy');
            };
            $("#pager").pagination({
                total: total,
                pageSize: PageSize,
                pageIndex: PageIndex - 1,
                showInfo: true,
                showJump: true,
                noInfoText: "抱歉搜索到0条记录,请重新搜索!",
                infoFormat: "{start}到{end}条, 共{total}条数据 "
            });
            $("#pager").on("pageClicked", function(event, data) {
                getTabList(data.pageIndex + 1, data.pageSize);
                //分页按钮点击事件
            }).on("jumpClicked", function(event, data) {
                //跳转按钮点击事件
                getTabList(data.pageIndex + 1, data.pageSize);
            });
        };
    

    3.顶部的简单分页实现,我这里自己写了个简单的没做封装处理,代码就不上了。
    就是要注意这里的分页都要是动态append到到页面。

     function getTabList(PageIndex, PageSize) {
            if (PageIndex && PageSize >= 0) {
                para3.para.PageIndex = PageIndex;
                para3.para.PageSize = PageSize;
            } else {
                return false;
            }
            Util.ajax({
                url: MockUrl + 'CaseShow_Case_List',
                data: JSON.stringify(para3),
                success: function(data) {
                    var total = data.Total,
                        num = Math.ceil(total / PageSize);
                    html.push(M.render(tem4, data.InfoList));
                    $('#result-ul').empty().prepend(html.join(''));
                    html = [];
                    if (num === 0) {
                        PageIndex = 0;
                    }
                    Util.pager(total, num, PageIndex);
                    bulidPager(data, PageIndex, PageSize);
                    var $pre = $('.prev-btn', $smallPage),
                        $next = $('.next-btn', $smallPage);
                    if (num === 1) {
                        $pre.addClass('disabled');
                        $next.addClass('disabled');
                    } else if (PageIndex === 1) {
                        $pre.addClass('disabled');
                        $next.removeClass('disabled');
                        nextClick(PageIndex, PageSize);
                    } else if (PageIndex === num) {
                        $pre.removeClass('disabled');
                        $next.addClass('disabled');
                        preClick(PageIndex, PageSize);
                    } else {
                        $pre.removeClass('disabled');
                        $next.removeClass('disabled');
                        nextClick(PageIndex, PageSize);
                        preClick(PageIndex, PageSize);
                    }
                }
            });
        };
    

    4.这里的主要的实现原理都是每次点击分页按钮的时候,都会重新进入ajax及分页方法,把分页的参数传入,他就会重新生成分页。即实现了所谓的两个分页联动。

    具体的效果可以试试demo

    相关文章

      网友评论

          本文标题:带有2个分页联动效果的实现

          本文链接:https://www.haomeiwen.com/subject/eepzuttx.html