JQuery实现前端分页

2023-05-16

<!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>
                <td colspan="3" height="33" class="td0"> </td>
                <td align="center" class="td2"><a href="###">添加用户</a></td>
            </tr>
            <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="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script>
        /*动态生成用户函数 num为生成的用户数量*/
        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(i + 1);
                tdNodeNum.style.width = "150px";
                tdNodeNum.style.height = "33px";
                tdNodeNum.className = "td2";
                //用户名   
                var tdNodeName = document.createElement("td");
                $(tdNodeName).html("lzj" + i);
                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(80);
            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 = psize;
            //每页显示行数    
            //总共分几页     
            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>

效果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQuery实现前端分页 的相关文章

  • opencv 获取rtsp原始码流代码

    opencv不仅可以获取解码后的图片数据 xff0c 还可以获取未经解码的原始码流数据 这样为使用其他硬解码器提供方便 在编译opencv cmake时需要指定 D WITH FFMPEG 61 ON python 代码如下 xff0c 需
  • 通过Launchpad查找PPA仓库

    我们通常会通过查找安装命令得知一些仓库名 xff0c 我们还可以通过Ubuntu Launchpad网站查询更多信息 首先登录https launchpad net 然后搜索自己关心的ppa xff0c 例如我们搜索得到了ppa jonat
  • ffmpeg 中 rtsp相关源码解析(五)

    lt lt ffmpeg 中 rtsp相关源码解析 四 gt gt 简单介绍了rtp包是通过ff rtsp fetch packet来获取的 我们更深入地问一个问题 xff0c 那么对于vp8 h264等音视频编解码标准 xff0c 这些p
  • 庆祝博客访问量即将突破20万

    2018年开始更新博客 xff0c 到现在已有3年 博客访问量预计这周就突破20万 本来写这博客并没有特别的目的 xff0c 只是想记录在工作学习过程中遇到的问题 也没想到会有这么多的访问 从南京到无锡再到上海 xff0c 一次次突破 从0
  • ffmpeg 源码分析 解码流程

    以ffmpeg 3 4 中的ffplay 来举例 全局初始化 av register all avformat network init AVFORMAT 设置过程 avformat alloc context avformat open
  • post传数组

    业务中涉及批量删除 xff0c 就需要传多个id xff0c 用数组吧 在post中 xff0c 参数都是键值对的形式 xff0c 键和值都是string类型 xff0c 那么就需要把数组序列化为string的形式 Array toStri
  • 基于OpenCV+QT的实时视频传输显示工具(一)

    时常会找一些比较有趣的东西来看 xff0c 但一般都是看完尝试了事 xff0c 没怎么做出总结过 现在想想真是可惜 xff0c 这么多年来 xff0c 看得东西也不少 xff0c 但是留下的印记却很少 xff0c 结果就是找工作时 xff0
  • Gstreamer基础知识介绍

    由于deepstream是基于gstreamer的 xff0c 所以要想在deepstream上做拓展 xff0c 需要对gstreamer有一定的认识 以下主要介绍Gstreamer整体框架和Gstreamer基础概念 一 Gstream
  • ffmpeg 图片转视频命令 互转

    图片转视频 ffmpeg f image2 i home test images image d jpg vcodec libx264 test h264 ffmpeg f image2 i home test images image d
  • git clone --recursive 用处

    git clone recursive 用于循环克隆git子项目 git clone recursive https github com onnx onnx tensorrt git
  • cuda lib64和stubs目录下存在同名so 引起cmake错误

    错误提示 CMake Warning at cmake FindCUDA cmake 1649 add library Cannot generate a safe runtime search path for target test b
  • 【折腾系列—All In One主机】1、 PVE虚拟机系统安装

    PVE虚拟机系统安装 写在前面1 什么是All In One主机 xff1f 2 什么是PVE虚拟机 3 PVE虚拟机的安装3 1 制作PE启动盘进行硬盘格式化3 2 PVE启动盘制作3 3 安装PVE虚拟机 写在前面 为什么要搭建All
  • 如何在IDEA中关闭vim模式

    菜单栏 tools gt vim emulator
  • 数据库技术基础

    数据库技术基础 基本概念 数据库技术是研究数据库的结构 存储 设计 管理和应用的一门软件学科 数据库 xff08 Database xff0c DB xff09 是统一管理的 长期存储在计算机内的 有组织的相关数据的集合 数据库系统 xff
  • windows10 ffmpeg使用clion采集音频(pcm数据)

    span class token comment span span class token comment Created by 克来 M on 2021 1 21 span span class token comment span s
  • windows10 ffmpeg使用clion采集视频(yuv420数据)

    span class token comment span span class token comment Created by 克来 M on 2021 1 21 span span class token comment span s
  • 关于微信开放平台授权事件接收Url的配置以及参数接收

    关于微信开放平台如何申请 xff0c 如何配置 xff0c 如何全网发布的文章 xff0c 大神们已经写了很多 xff0c 不想再造轮子 xff0c 特针对微信授权事件的处理这一个点 xff0c 对自己遇到的坑进行总结 xff0c 也希望能
  • 音视频开发之音频编码原理

    音频编码原理 本篇博客为面向大众的科普性文章 涉及声音原理 音频文件属性 音频格式等方面 预计阅读时间为10分钟 1 何为声音 中学物理中我们知道 xff0c 声音是物体振动产生的声波 声音通过介质 xff08 空气 固体 液体 xff09
  • ElasticSearch6.2.5使用说明

    第一章 ElasticSearch入门篇 第一节 ElasticSearch概述 ElasticSearch是一个基于Lucene的搜索服务器 它提供了一个分布式多用户能力的全文搜索引擎 xff0c 基于RESTfulweb接口 Elast
  • 01 es高手进阶系列课程说明

    深度讲解搜索 xff0c 数据分析 xff0c 数据建模 特色 xff1a 纯手工画图剖析各种原理 xff0c 纯实战驱动讲解各种知识点 xff0c 知识体系的细致和完整 怎么实战驱动 xff1f 核心知识篇 xff0c 上半季 xff0c

随机推荐