Amaze UI的分页设计

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiao__jia__jia/article/details/86669406

                                    Amaze UI的分页设计

暂时找不到别人关于Amaze UI的分页控件,网上搜了两个,用了都报各种错, 只能自己造轮子了,代码写的比较次,将就。

效果图:

代码图(Amaze UI的css样式包和js得自己引入)

<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<head>

    <meta charset="utf-8">
</head>

<!-- content start -->
<div class="admin-content">

    <div class="am-cf am-padding">
        <div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">商品</strong> / <small>列表</small></div>
    </div>

    <div class="am-g">
        <div class="am-u-md-6 am-cf">
            <div class="am-fl am-cf">
                <div class="am-btn-toolbar am-fl">
                    <div class="am-btn-group am-btn-group-xs">
                        <button type="button" class="am-btn am-btn-default"><span class="am-icon-plus"></span> 新增</button>
                        <button type="button" class="am-btn am-btn-default"><span class="am-icon-trash-o"></span> 批量删除</button>
                    </div>

                </div>
            </div>
        </div>
        <div class="am-u-md-3 am-cf">
            <div class="am-fr">
                <div class="am-input-group am-input-group-sm">
                    <input type="text" class="am-form-field">
                    <span class="am-input-group-btn">
                  <button class="am-btn am-btn-default" type="button">搜索</button>
                </span>
                </div>
            </div>
        </div>
    </div>

    <div class="am-g">
        <div class="am-u-sm-12">
            <form class="am-form">
                <table class="am-table am-table-striped am-table-hover table-main">
                    <thead>
                    <tr>
                        <th class="table-check"><input type="checkbox" class="parent_check" /></th><th class="table-id">ID</th><th class="table-title">商品名称</th><th class="table-type">类别</th><th class="table-author">价格</th><th class="table-date">修改日期</th><th class="table-set">操作</th>
                    </tr>
                    </thead>
                    <tbody id="spuList">

                    </tbody>
                </table>
                <div class="am-cf mypage">
                    <%--显示分页条--%>
                </div>
                <hr />
            </form>
        </div>

    </div>
</div>

<!-- content end -->
<script type="text/javascript">

    var size = 2;      //每页的数据行
    var total = 0;     //总数据量
    var startPage = 0;  //开始页号
    var endPage = 0;    //尾页号
    var hitPage = 0;    //激活页号
    var pages = 0;    //页数
    var showpages = 5; //分页条展示多少页数
    var flag = 1;      //-1表示向上翻页,1表示向下翻页
    var data;



    $(function () {
       getSpuList(1);

    });

    //获取商品信息列表
    function getSpuList(pageNum) {
         var url = "<%=basePath%>manage/spu/list?pageNum=" + pageNum +"&pageSize=" + size;
        $.get(url,function(data){
            total = data.total;
            pages = total / size ;
            if(total % size != 0) {
                pages += 1;
            }
            flag = 1;
            setContent(data.list);
            pageInfo(startPage, endPage, flag);

        });
    }

    //渲染页面
    function setContent( data){
        var str;
        for(var i in data) {
            str += '<tr>';
            str += '<td><input type="checkbox" class="son_check" del_id="\'+ data[i].id + \'"/></td>';
            str += '<td>' + data[i].id + '</td>';
            str += '<td><a href="#">' + data[i].name + '</a></td>';
            str += '<td>' + data[i].subTitle + '</td>';
            str += '<td>' + data[i].detail + '</td>';
            str += '<td>' + data[i].createTime + '</td>';
            str += '<td>';
            str += '<div class="am-btn-toolbar">';
            str += '<div class="am-btn-group am-btn-group-xs">';
            str += '<button class="am-btn am-btn-default am-btn-xs am-text-secondary"><span class="am-icon-pencil-square-o"></span> 编辑</button>';
            str += '<button class="am-btn am-btn-default am-btn-xs am-text-danger"><span class="am-icon-trash-o"></span> 删除</button>';
            str += '</div>';
            str += '</div>';
            str += '</td>';
            str += '</tr>';
        }
        if(str != "" || str != null){
            $("#spuList").html(str);
        }else{
            $("#spuList").html("<br/><span style='width:50%;height:100px;display:block;margin:0 auto;'>暂无数据</span>");

        }
    }


    //渲染点击两分页图标箭头的功能
    function pageInfo(startPage, endPage, flag){
        //如果startPage == 1的话,'«'图标不显示, 如果endPage >= pages, '»'图标不显示,flag判断是那个图标被点击了
        var str2 = '';

        str2 += '共'+ total + '条记录';
        str2 += '<div class="am-fr">';
        str2 += '<ul class="am-pagination">';

        if(flag == 1){
            if(startPage == 0) {     //初始化时
                startPage = 1;
            }else{
                startPage = startPage + showpages;
            }
            if(hitPage <= 0) {
                hitPage = 1;
            }else {
                hitPage = endPage + 1;
            }
            endPage = endPage + showpages;
        }else if(flag == -1) {
            hitPage = startPage - 1;
            endPage = startPage -1;
            if(hitPage <= 0){
                hitPage = 1;
            }
            startPage = startPage - showpages;
            if(startPage <= 0) {
                startPage = 1;
            }
        }

        if(startPage != 1) {
            str2 += '<li class="am-disabled front"><a href="#">«</a></li>';
        }

        if(endPage > pages) {
            endPage = pages;
        }
        for(var i = startPage ; i <= endPage; i++ ) {
            if( i == hitPage){
                if(i == startPage){
                    str2 += '<li class="am-active startPage hitPage"><a href="javascript:void(0);">'+ i + '</a></li>';
                }else if(i == endPage){
                    str2 += '<li class="am-active endPage hitPage"><a href="javascript:void(0);">'+ i + '</a></li>';
                }else {
                    str2 += ' <li class="am-active hitPage"><a href="javascript:void(0);">'+ i + '</a></li>';
                }
            }else{
                if(i == startPage){
                    str2 += '<li class="startPage hitPage"><a href="javascript:void(0);">'+ i + '</a></li>';
                }else if(i == endPage){
                    str2 += '<li class="endPage hitPage"><a href="javascript:void(0);">'+ i + '</a></li>';
                }else {
                    str2 += ' <li class="hitPage" ><a href="javascript:void(0);">'+ i + '</a></li>';
                }
            }
        }


        if(endPage < pages){
            str2 += '<li class="am-disabled up"><a href="#">»</a></li>';
        }
        str2 += '</ul>';
        str2 += '</div>';
        $(".mypage").html(str2);
    }


    //更新相应页面的渲染
    $(document).on('click', '.hitPage', function(e) {
        hitPage = $(this).children().text();
        var url = "<%=basePath%>manage/spu/list?pageNum=" + hitPage + "&pageSize=" + size;
        $.get(url, function(data){
            setContent(data.list);
        });
        $(this).addClass('am-active');
        $(this).siblings().removeClass('am-active');


    });

    $(document).on('click', '.front', function(e) {
        startPage = parseInt($('.startPage').children().text());
        endPage = parseInt($('.endPage').children().text());
        var url = "<%=basePath%>manage/spu/list?pageNum=" + (startPage-1) + "&pageSize=" + size;
        $.get(url, function(data){
            setContent(data.list);
        });
        flag = -1;
        pageInfo(startPage, endPage, flag);

    });
    $(document).on('click', '.up', function(e) {
        startPage = parseInt($('.startPage').children().text());
        endPage = parseInt($('.endPage').children().text());
        var url = "<%=basePath%>manage/spu/list?pageNum=" + (endPage + 1);
        $.get(url, function(data){
            setContent(data.list);
        });
        flag = 1;
        pageInfo(startPage, endPage, flag);

    });

</script>

猜你喜欢

转载自blog.csdn.net/xiao__jia__jia/article/details/86669406