分页

作者: Gaochengxin | 来源:发表于2018-05-29 13:46 被阅读6次
    <!doctype html>
   <html>

   <head>
   <meta charset='utf-8'>
    <style type="text/css">
    a {
        text-decoration: none;
    }

    .table2 {
        border: #C8C8C8 solid;
        border-width: 1px 0px 0px 1px;
        background: #F3F0F0;
        margin-top: 25px;
    }

    .td0 {
        border: #C8C8C8 solid;
        border-width: 0 0 1px 0;
    }

    .td2 {
        border: #C8C8C8 solid;
        border-width: 0 1px 1px 0;
    }

    .barcon {
        width: 1000px;
        margin: 0 auto;
        text-align: center;
    }

    .barcon1 {
        font-size: 17px;
        float: left;
        margin-top: 20px;
    }

    .barcon2 {
        float: right;
    }

    .barcon2 ul {
        margin: 20px 0;
        padding-left: 0;
        list-style: none;
        text-align: center;
    }

    .barcon2 li {
        display: inline;
    }

    .barcon2 a {
        font-size: 16px;
        font-weight: normal;
        display: inline-block;
        padding: 5px;
        padding-top: 0;
        color: black;
        border: 1px solid #ddd;
        background-color: #fff;
    }

    .barcon2 a:hover {
        background-color: #eee;
    }

    .ban {
        opacity: .4;
    }
   </style>
   </head>

   <body>
  <table width="950" cellpadding="0" cellspacing="0" class="table2" align="center">
    <thead>
       
        <tr align="center">
            <th width="150" height="33" class="td2">序号</th>
            <th width="300" class="td2">用户名</th>
            <th width="250" class="td2">权限</th>
            <th width="250" class="td2">操作</th>
        </tr>
    </thead>
    <tbody id="adminTbody">
        <tr align="center">
            <td class="td2" height="33" width="150">1</td>
            <td class="td2">admin</td>
            <td class="td2">管理员</td>
            <td class="td2">
                <a href="###">修改</a>
            </td>
        </tr>
    </tbody>
</table>
<div id="barcon" class="barcon">
    <div id="barcon1" class="barcon1"></div>
    <div id="barcon2" class="barcon2">
        <ul>
            <li>
                <a href="###" id="firstPage">首页</a>
            </li>
            <li>
                <a href="###" id="prePage">上一页</a>
            </li>
            <li>
                <a href="###" id="nextPage">下一页</a>
            </li>
            <li>
                <a href="###" id="lastPage">尾页</a>
            </li>
            <li>
                <select id="jumpWhere">
                </select>
            </li>
            <li>
                <a href="###" id="jumpPage" onclick="jumpPage()">跳转</a>
            </li>
        </ul>
    </div>
</div>
<script src="jquery-3.2.1.min.js"></script>
<script>
    /*动态生成用户函数
     num为生成的用户数量
    */
       var a = new Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16");
   
    function dynamicAddUser(num) {
        for (var i = 1; i <= num; i++) {
            var trNode = document.createElement("tr");
            $(trNode).attr("align", "center");
            //序号
            var tdNodeNum = document.createElement("td");
            $(tdNodeNum).html(a[i]);
            tdNodeNum.style.width = "150px";
            tdNodeNum.style.height = "33px";
            tdNodeNum.className = "td2";
            //用户名
            var tdNodeName = document.createElement("td");
            $(tdNodeName).html(a[i+1]);
            tdNodeName.style.width = "300px";
            tdNodeName.className = "td2";
            //权限            
            var tdNodePri = document.createElement("td");
            tdNodePri.style.width = "250px";
            tdNodePri.className = "td2";
            var priText = document.createElement("span");
            $(priText).css({
                "display": "inline-block",
                "text-align": "center"
            });
            $(priText).text("普通用户");
            tdNodePri.appendChild(priText);
            //操作
            var tdNodeOper = document.createElement("td");
            tdNodeOper.style.width = "170px";
            tdNodeOper.className = "td2";
            var editA = document.createElement("a");
            $(editA).attr("href", "###").text("编辑");
            $(editA).css({
                display: "inline-block"
            });
            tdNodeOper.appendChild(editA);

            trNode.appendChild(tdNodeNum);
            trNode.appendChild(tdNodeName);
            trNode.appendChild(tdNodePri);
            trNode.appendChild(tdNodeOper);
            $("#adminTbody")[0].appendChild(trNode);
        }
    }
    $(function () {
        dynamicAddUser(a.length);
        goPage(1, 10);
        var tempOption = "";
        for (var i = 1; i <= totalPage; i++) {
            tempOption += '<option value=' + i + '>' + i + '</option>'
        }
        $("#jumpWhere").html(tempOption);
    })

    /**
     * 分页函数
     * pno--页数
     * psize--每页显示记录数
     * 分页部分是从真实数据行开始,因而存在加减某个常数,以确定真正的记录数
     * 纯js分页实质是数据行全部加载,通过是否显示属性完成分页功能
     **/

    var pageSize = 0; //每页显示行数
    var currentPage_ = 1; //当前页全局变量,用于跳转时判断是否在相同页,在就不跳,否则跳转。
    var totalPage; //总页数
    function goPage(pno, psize) {
        var itable = document.getElementById("adminTbody");
        var num = itable.rows.length; //表格所有行数(所有记录数)

        pageSize = 5; //每页显示行数
        //总共分几页 
        if (num / pageSize > parseInt(num / pageSize)) {
            totalPage = parseInt(num / pageSize) + 1;
        } else {
            totalPage = parseInt(num / pageSize);
        }
        var currentPage = pno; //当前页数
        currentPage_ = currentPage;
        var startRow = (currentPage - 1) * pageSize + 1;
        var endRow = currentPage * pageSize;
        endRow = (endRow > num) ? num : endRow;
        //遍历显示数据实现分页
        /*for(var i=1;i<(num+1);i++){    
            var irow = itable.rows[i-1];
            if(i>=startRow && i<=endRow){
                irow.style.display = "";    
            }else{
                irow.style.display = "none";
            }
        }*/

        $("#adminTbody tr").hide();
        for (var i = startRow - 1; i < endRow; i++) {
            $("#adminTbody tr").eq(i).show();
        }
        var tempStr = "共" + num + "条记录 分" + totalPage + "页 当前第" + currentPage + "页";
        document.getElementById("barcon1").innerHTML = tempStr;

        if (currentPage > 1) {
            $("#firstPage").on("click", function () {
                goPage(1, psize);
            }).removeClass("ban");
            $("#prePage").on("click", function () {
                goPage(currentPage - 1, psize);
            }).removeClass("ban");
        } else {
            $("#firstPage").off("click").addClass("ban");
            $("#prePage").off("click").addClass("ban");
        }

        if (currentPage < totalPage) {
            $("#nextPage").on("click", function () {
                goPage(currentPage + 1, psize);
            }).removeClass("ban")
            $("#lastPage").on("click", function () {
                goPage(totalPage, psize);
            }).removeClass("ban")
        } else {
            $("#nextPage").off("click").addClass("ban");
            $("#lastPage").off("click").addClass("ban");
        }

        $("#jumpWhere").val(currentPage);
    }


    function jumpPage() {
        var num = parseInt($("#jumpWhere").val());
        if (num != currentPage_) {
            goPage(num, pageSize);
        }
    }
</script>
   </body>

     </html>

相关文章

  • MyBatis之分页

    五、分页 目录:使用Limit分页、RowBounds分页、分页插件 1.使用Limit分页 语法: 使用MyBa...

  • JS的分页算法

    分页的总页数算法 分页算法 分页存储过程或者页面分页中的分页算法: int pagesize // 每页记录数 i...

  • WEB页面中几种常见的分页样式

    这里谈谈WEB页面中几种常见的分页样式 分页样式一:滚动翻页image 分页样式二:常规分页image 分页样式三...

  • 目录【Java分页(前台+后台)】

    SubList分页-001-分页概述 SubList分页-002-需求 SubList分页-003-中文处理 Su...

  • SSM框架-实现Mybatis分页功能-foreknow_cms

    分页处理 分页1、前台分页2、数据库(后台)分页3、存储过程 Orade (Rownum) Mysql(lim...

  • 2018-10-10:分页

    分页 真分页使用特定的sql语句,条件查询出指定内容 假分页数据全部取出,在页面分页显示 分页数据pageSize...

  • Springboot 分页

    //分页返回类 @ApiModel(value ="分页内容", description ="分页数据返回内容")...

  • 分页SQL

    分页 rownum,rowid 分页SQL

  • Java Web 之分页技术

    本文包括:1、分页技术概述2、实现分页3、完善分业——分页工具条4、几种常见的分页工具条 1、分页技术概述 物理分...

  • 代码CR之分页查询常见问题

    分页查询常见问题: 1.完全没有分页 2.分页size太大 3.超多分页慢SQL 1.完全没有分页 反例: 正例:...

网友评论

      本文标题:分页

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