精华内容
下载资源
问答
  • 主要介绍了javascript分页实例,大家参考使用吧
  • JS分页文件

    2019-05-01 11:37:31
    JS分页文件在实际开发中自行总结而来,实现前提:需要分页的数据由<tr><td><td><tr>标签绘画出来的!暂时未验证由<ul><li><li><li>标签绘画出的页面,可自行验证哦!
  • 简单易懂的js分页,已经分装好,通俗易懂
  • paging.js分页插件.zip

    2020-05-20 18:49:20
    paging.js分页插件 <script src="js/jquery.min.js"> <script type="text/javascript" src="js/paging.js"> <!--分页--> <div id="page" class="page_div"></div>
  • js分页效果

    2017-09-22 00:39:19
    此示例实现的效果是分页,采用原生JavaScript实现的js分页效果+图片运动效果,希望和大家一起学习交流,有指教的地方请留言给我,谢谢。
  • 这是一个原生JavaScript分页插件,它不依赖于任何js库即可直接使用
  • js分页demo

    2015-08-03 17:59:57
    js分页的demo封装,详细讲述了js做页码切换,带有首页、尾页和输入框输入后的页码计算和跳转
  • js分页带省略号

    2017-08-18 10:23:32
    js分页插件 中间多着省略
  • js 分页

    2017-11-21 11:46:53
    js 分页,只需要简单配置就可以用.js 分页,只需要简单配置就可以用.js 分页,只需要简单配置就可以用.js 分页,只需要简单配置就可以用.
  • 原生javascript分页功能,与后台结合使用ajax请求数据,是目前大多数前后端分离建站使用的分页展示数据的逻辑 使用示例: 效果图: index.html <!DOCTYPE html> <html lang="en"> <head&...

    原生javascript分页功能,与后台结合使用ajax请求数据,是目前大多数前后端分离建站使用的分页展示数据的逻辑

    使用示例:

     效果图:

    index.html

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>分页</title>
        <!-- 分页css -->
        <link rel="stylesheet" href="pages.css">
    
        <style type="text/css">
            html,body,div {padding: 0;margin: 0;}
            html {font-family: '微软雅黑', Arial, Verdana, arial, serif;}
            #content div {padding: 10px;background: #f2f2f2;margin-bottom: 1px;}
        </style>
    
    </head>
    
    <body>
        <div id="content"></div>
        <!-- 分页DOM -->
        <div id="pagination" class="pagination"></div>
    
        <!-- 引入分页js -->
        <script src="pages.js"></script>
        <!-- ajax函数,需要了解请点击这里:https://blog.csdn.net/u012780176/article/details/79278479 -->
        <script src="ajax.js"></script>
        <script>
        window.onload = function() {
            var url = 'https://cnodejs.org/api/v1/topics?limit=10&page=';
            var content = document.getElementById('content');
            var tmp = '';
    
            // 进入页面初始化请求第一页数据
            getData(1);
    
            // 使用ajax函数请求数据并渲染到页面
            function getData(page) {
                content.innerHTML = '正在加载...';
                ajax({
                    url: url + page,
                    type: "get",
                    dataType: "json",
                    success: function(data) {
                        var list = data.data;
                        list.forEach(function(context) {
                            tmp += '<div>' + context.title + '</div>';
                        });
                        content.innerHTML = tmp;
                        tmp = '';
                    },
                    error: function(err) {
                        alert('请求数据失败');
                    }
                })
            }
    
            
            // 示例化分页组件
            new myPagination({
                id: 'pagination',
                curPage: 1, //初始页码
                pageTotal: 50, //总页数
                pageAmount: 10, //每页多少条
                dataTotal: 500, //总共多少条数据
                pageSize: 5, //可选,分页个数
                showPageTotalFlag: true, //是否显示数据统计
                showSkipInputFlag: true, //是否支持跳转
                getPage: function(page) {
                  // 点击分页按钮请求数据
                    getData(page);
                }
            })
        }
        </script>
    </body>
    
    </html>

     

    pages.js:

    function myPagination(options) {
        var pageSize = options.pageSize,
            pageTotal = options.pageTotal,
            curPage = options.curPage,
            id = options.id,
            getPage = options.getPage,
            showPageTotalFlag = options.showPageTotalFlag,
            showSkipInputFlag = options.showSkipInputFlag,
            pageAmount = options.pageAmount,
            dataTotal = options.dataTotal;
        this.pageSize = pageSize || 5; //分页个数
        this.pageTotal = pageTotal; //总共多少页
        this.pageAmount = pageAmount; //每页多少条
        this.dataTotal = dataTotal; //总共多少数据
        this.curPage = curPage || 1; //初始页码
        this.ul = document.createElement('ul');
        this.id = id;
        this.getPage = getPage;
        this.middlePageSize = (this.pageSize - 1) / 2;
        this.showPageTotalFlag = showPageTotalFlag || false; //是否显示数据统计
        this.showSkipInputFlag = showSkipInputFlag || false; //是否支持跳转
        this.init();
    };
    
    myPagination.prototype = {
        init: function init() {
            var pagination = document.getElementById(this.id);
            pagination.innerHTML = '';
            this.ul.innerHTML = '';
            pagination.appendChild(this.ul);
            var that = this;
            //首页
            that.firstPage();
            //上一页
            that.lastPage();
            //分页
            that.getPages().forEach(function (item) {
                var li = document.createElement('li');
                if (item == that.curPage) {
                    li.className = 'active';
                } else {
                    li.onclick = function () {
                        that.curPage = parseInt(this.innerHTML);
                        that.init();
                        that.getPage(that.curPage);
                    };
                }
                li.innerHTML = item;
                that.ul.appendChild(li);
            });
            //下一页
            that.nextPage();
            //尾页
            that.finalPage();
    
            //是否支持跳转
            if (that.showSkipInputFlag)
                that.showSkipInput();
            //是否显示总页数,每页个数,数据
            if (that.showPageTotalFlag)
                that.showPageTotal();
        },
        //首页
        firstPage: function firstPage() {
            var that = this;
            var li = document.createElement('li');
            li.innerHTML = '首页';
            this.ul.appendChild(li);
            if (parseInt(that.curPage) > 1) {
                li.onclick = function () {
                    var val = parseInt(1);
                    that.curPage = val;
                    that.getPage(that.curPage);
                    that.init();
                };
            } else {
                li.className = 'disabled';
            }
        },
        //上一页
        lastPage: function lastPage() {
            var that = this;
            var li = document.createElement('li');
            li.innerHTML = '<';
            if (parseInt(that.curPage) > 1) {
                li.onclick = function () {
                    that.curPage = parseInt(that.curPage) - 1;
                    that.init();
                    that.getPage(that.curPage);
                };
            } else {
                li.className = 'disabled';
            }
            this.ul.appendChild(li);
        },
        //分页
        getPages: function getPages() {
            var pag = [];
            if (this.curPage <= this.pageTotal) {
    
                if (this.curPage < this.pageSize - this.middlePageSize) {
                    //当前页数小于显示条数
                    var i = Math.min(this.pageSize, this.pageTotal);
                    while (i) {
                        pag.unshift(i--);
                    }
                } else {
                    //当前页数大于显示条数
                    var middle = this.curPage - Math.floor(this.pageSize / 2),
                        //从哪里开始
                        i = this.pageSize;
                    if (middle > this.pageTotal - this.pageSize) {
                        if (middle <= Math.ceil(this.pageSize / 2) - 1) {
                            i = this.pageSize + this.pageTotal - this.pageSize;
                            middle = 1;
                        } else {
                            middle = this.pageTotal - this.pageSize + 1;
                        }
                    }
                    while (i--) {
                        pag.push(middle++);
                    }
                }
            } else {
                console.error('当前页数不能大于总页数');
            }
            if (!this.pageSize) {
                console.error('显示页数不能为空或者0');
            }
            return pag;
        },
        //下一页
        nextPage: function nextPage() {
            var that = this;
            var li = document.createElement('li');
            li.innerHTML = '>';
            if (parseInt(that.curPage) < parseInt(that.pageTotal)) {
                li.onclick = function () {
                    that.curPage = parseInt(that.curPage) + 1;
                    that.init();
                    that.getPage(that.curPage);
                };
            } else {
                li.className = 'disabled';
            }
            this.ul.appendChild(li);
        },
        //尾页
        finalPage: function finalPage() {
            var that = this;
            var li = document.createElement('li');
            li.innerHTML = '尾页';
            this.ul.appendChild(li);
            if (parseInt(that.curPage) < parseInt(that.pageTotal)) {
                li.onclick = function () {
                    var yyfinalPage = that.pageTotal;
                    var val = parseInt(yyfinalPage);
                    that.curPage = val;
                    that.getPage(that.curPage);
                    that.init();
                };
            } else {
                li.className = 'disabled';
            }
            
        },
        //是否支持跳转
        showSkipInput: function showSkipInput() {
            var that = this;
            var li = document.createElement('li');
            li.className = 'totalPage';
            var span1 = document.createElement('span');
            span1.innerHTML = '跳转到';
            li.appendChild(span1);
            var input = document.createElement('input');
            input.setAttribute("type", "number");
            input.onkeydown = function (e) {
                var oEvent = e || event;
                if (oEvent.keyCode == '13') {
                    var val = parseInt(oEvent.target.value);
                    if (typeof val === 'number' && val <= that.pageTotal) {
                        that.curPage = val;
                        that.getPage(that.curPage);
                    } else {
                        alert("跳转页数不能大于总页数 !")
                    }
                    that.init();
                }
            };
            li.appendChild(input);
            var span2 = document.createElement('span');
            span2.innerHTML = '页';
            li.appendChild(span2);
            this.ul.appendChild(li);
        },
        //是否显示总页数,每页个数,数据
        showPageTotal: function showPageTotal() {
            var that = this;
            var li = document.createElement('li');
            li.innerHTML = '共&nbsp' + that.pageTotal + '&nbsp页';
            li.className = 'totalPage';
            this.ul.appendChild(li);
            var li2 = document.createElement('li');
            li2.innerHTML = '每页&nbsp' + that.pageAmount + '&nbsp条';
            li2.className = 'totalPage';
            this.ul.appendChild(li2);
            var li3 = document.createElement('li');
            li3.innerHTML = '合计&nbsp' + that.dataTotal + '&nbsp条数据';
            li3.className = 'totalPage';
            this.ul.appendChild(li3);
        }
    };

    pages.css:

    .pagination {
    	padding:5px;
    	font-family: '微软雅黑',Arial,Verdana,arial,serif;
    }
    .pagination ul {
        list-style: none;
        padding-left: 0;
        font-size: 0;
    }
    .pagination ul li {
        padding: 0 10px;
        vertical-align: bottom;
        display: inline-block;
        font-size: 14px;
        min-width: 36px;
        min-height: 28px;
        line-height: 28px;
        cursor: pointer;
        box-sizing: border-box;
        text-align: center;
        margin-left: -1px;
        color: #606266;
        border: 1px solid #ebebeb;
        height: 30px;
        transition: all .3s;
    }
    .pagination ul li:hover {
        color: #80bd01;
    }
    .pagination ul li.totalPage:hover {
        color: #606266;
    }
    .pagination  li.active {
        color: #80bd01;
    }
    .pagination li.disabled {
        cursor: not-allowed;
    }
    .pagination li.disabled:hover {
        color: #ccc;
    }
    .pagination li.totalPage {
        background: transparent;
        cursor: default;
        border: none;
        padding: 0 6px;
    }
     
    .pagination li.totalPage:hover {
        transform: none;
        background-color: #ffffff;
    }
    .pagination li input {
        -webkit-appearance: none;
        background-color: #fff;
        background-image: none;
        border: 0;
        border-bottom: 1px solid #dcdfe6;
        box-sizing: border-box;
        color: #606266;
        display: inline-block;
        font-size: inherit;
        outline: none;
        padding: 3px 5px;
        transition: border-color .2s;
        width: 40px;
        height: 25px;
        margin: 0 6px;
    }
    .pagination li input:focus{
        border-color: #80bd01;
    }
    .pagination{
        user-select: none;
    }
    .pagination ul:nth-child(2){
        border-radius: 6px;
    }
    input[type=number] {
        -moz-appearance:textfield;
    }
    input[type=number]::-webkit-inner-spin-button,
    input[type=number]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
    

     

    展开全文
  • javascript 分页

    2014-07-04 20:31:53
    javascript 分页
  • javascript分页

    2014-11-15 23:34:44
    今天发现项目中的分页工具不是很好用,而且还有bug,于是乎自己写了一个,感觉还可以吧
  • 代码如下: <%... charset=UTF-8″ pageEncoding=”UTF-8″%> <!... <HEAD>...javascript打印-打印页面设置-打印预览代码</TITLE> <META http-equiv=Content-Type content=”text/html
  • JS分页 支持任何页面

    2018-04-09 15:33:23
    支持任何页面,带有自己颜色!比较完美的分页,支持自定义!
  • js分页显示div的内容

    2021-01-21 12:06:21
    div分页显示_软件开发网_www.jb51.net #frameContent{ width:500px; /*调整显示区的宽*/ height:200px; /*调整显示区的高*/ font-size:14px; line-height:20px; border:1px solid #000000; overflow-...
  • //1:根据字数自动分页 2:根据[NextPage]分页//默认页startpage = 1;//导航显示样式 0:常规 1:直接 3:下拉TopShowStyle = 1;DownShowStyle = 0;  var currentSet,CutFlag,TotalByte,PageCount,key,tempText,tempPage...
  • js分页-用js实现分页显示

    热门讨论 2009-01-05 09:22:39
    js分页,用js将内容以分页的形式展现出来,处理数据更简单
  • js分页javascript分页

    2012-07-19 11:07:59
    js分页
  • Javascript我v页效果(收集了很多强大的JS分页代码),可以直接使用,不会JS的也能在自己网站上应用到强大的JS分页特效
  • JS分页控件,可用于无刷新分页 代码如下:function PagerBar(recordcount, pagesize, pageindex, showpagecount) { var NumberRegex = new RegExp(/^\d+$/); this.PageIndex = 1; //页索引,当前页 if (pageindex !=...
  • 本篇文章主要介绍了使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • js分页循环代码

    2013-11-26 15:01:08
    js分页循环代码
  • 最原始js分页

    2018-06-21 10:40:30
    最原始js分页,不用任何插件,适合初学者参考学习使用
  • 主要介绍了基于JS分页控件实现简单美观仿淘宝分页按钮效果的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
  • js分页插件

    2017-02-13 14:41:39
    支持页码跳转
  • 此工具的目的是实现网页数据分页显示完全脱离服务器,单纯使用js实现,现在功能还比较简单,只能单纯显示数据,有其他需求可以联系探讨。 工具例子使用ajax获取列表数据,当然其他形式也行,最后应该把数据转换成...
  • 因为这是我自己第一次动手用js分页,写的应该也不是很完美,有些公共的没有抽取出来,但是用起来还是可以的,这块代码是可以把它当做公共的分页去处理的,我就是用这块代码写了两个稍微不同一些的分页!...
  • 原生js分页效果

    千次阅读 2017-08-10 10:40:00
    现总结原生js实现分页效果与此,并附上详细注释:总结:分页必须要搞清楚几个参数: 1、一共几条数据 2、每页显示几条数据(x) 3、一共几页 难点:点击第n页时,显示哪几条数据(n-1)*x+1~n*x条数据(n>=1)...

    2017年4月份,我去无锡某软件公司面试,项目经理当时问到一个问题:怎么实现分页效果,说明实现的原理?当时觉得分页是个极其复杂的技术难点,也没回答的很完整。现总结原生js实现分页效果与此,并附上详细注释:

    总结:分页必须要搞清楚几个参数:
    1、一共几条数据
    2、每页显示几条数据(x)
    3、一共几页
    难点:点击第n页时,显示哪几条数据(n-1)*x+1~n*x条数据(n>=1)

    代码如下:
    
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>js分页效果</title>
    <style>
    * {
        margin:0;
        padding:0;
    }
    img {
        border:0;
    }
    ol,ul,li {
        list-style:none;
    }
    .box {
        width:100%;
        height:500px;
        position:relative;
    }
    #conten {
        width:400px;
        height:410px;
        margin:20px auto;
        border:1px solid #ccc;
        overflow:hidden;
    }
    #conten li {
        width:100%;
        height:40px;
        border-bottom:1px solid #ff0000;
    }
    #btn {
        width:180px;
        height:30px;
        margin:20px auto;
        border:1px solid #ccc;
        padding:5px 10px;
        position:relative;
        overflow:hidden;
    }
    </style>
    </head>
    <body>
    <div class="box">
        <ul id="conten">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
            <li>9</li>
            <li>10</li>
            <li>11</li>
            <li>12</li>
            <li>13</li>
            <li>14</li>
            <li>15</li>
            <li>16</li>
            <li>17</li>
            <li>18</li>
            <li>19</li>
            <li>20</li>
            <li>21</li>
            <li>22</li>
            <li>23</li>
            <li>24</li>
            <li>25</li>
            <li>26</li>
            <li>27</li>
            <li>28</li>
            <li>29</li>
            <li>30</li>
            <li>31</li>
            <li>32</li>
            <li>33</li>
            <li>34</li>
            <li>35</li>
            <li>36</li>
            <li>37</li>
            <li>38</li>
            <li>39</li>
            <li>40</li>
            <li>41</li>
            <li>42</li>
            <li>43</li>
            <li>44</li>
            <li>45</li>
            <li>46</li>
            <li>47</li>
            <li>48</li>
            <li>34</li>
            <li>35</li>
            <li>36</li>
            <li>37</li>
            <li>38</li>
            <li>39</li>
            <li>40</li>
            <li>41</li>
            <li>42</li>
            <li>43</li>
            <li>44</li>
            <li>45</li>
            <li>46</li>
            <li>47</li>
            <li>48</li>
            <li>34</li>
            <li>35</li>
            <li>36</li>
            <li>37</li>
            <li>38</li>
            <li>39</li>
            <li>40</li>
            <li>41</li>
            <li>42</li>
            <li>43</li>
            <li>44</li>
            <li>45</li>
        </ul>
        <ul id="btn">
        </ul>
    </div>
    
    <script>
        //总结:分页必须要搞清楚几个参数:1、一共几条数据 2、每页显示几条数据(x)  3、一共几页
        // 难点:点击第n页时,显示哪几条数据(n-1)*x+1~n*x条数据(n>=1)
    window.onload = function() {
        var oConten = document.getElementById("conten");
        var oLi = oConten.getElementsByTagName("li");
        var bBtn = document.getElementById("btn");
    
        var n = 0;//页面数量(重点)
        // 页面内容控制
        if (oLi.length % 10 == 0) {//计算页数
            n = oLi.length / 10 | 0;//Math.floor()
        } else {
            n = (oLi.length / 10 | 0) + 1;//Math.ceil()
        }
        //添加页码标签(几个页面就添加几个页码)
        for (var i = 1; i <= n; i++) {
            cLi = document.createElement("li");
            cLi.style.cssText = "width:30px; height:30px; background:#ff0000;margin:0 5px;display: inline-block;position:absolute; transition:left 0.5s";
            cLi.innerHTML = i;
            bBtn.appendChild(cLi);
        }
    
        var aLi = bBtn.getElementsByTagName("li");
        for (var i = 0; i <= n - 1; i++) {
            aLi[i].index = i;
            aLi[0].style.background = "#ccc";
            aLi[i].style.left = i * 40 + "px";
            // alert(aLi[i].index)
    
            //点击页码做3件事
            aLi[i].onclick = function() {
                b = this.index;
                // alert(b)
                // 1.当前页码active(简单功能)
                for (var j = 0; j < aLi.length; j++) {
                    aLi[j].style.background = "#ff0000";
                }
                this.style.background = "#ccc";
                //2.页码滚动(该功能可有可无)
                if (b <= 2) {
                    for (var j = 0; j < aLi.length; j++) {
                        aLi[j].style.left = j * 40 + "px";
                    }
                }
                if (b > 2 && b < (n - 2)) {
                    for (var j = 0; j < aLi.length; j++) {
                        aLi[j].style.left = (j - b + 2) * 40 + "px";
                    }
                }
                //3.页面切换
                for (var j = 0; j < oLi.length; j++) {//点击第b页,先让 所有页面隐藏
                    oLi[j].style.display = "none";
                }
                for (var j = (b * 10); j < (b + 1) * 10; j++) {//再显示第 b * 10条 至 (b + 1) * 10-1条数据(b>=0)(重难点)
                    oLi[j].style.display = "block";
                }
            }
        }
    }
    </script>
    </body>
    </html>
    

    另附php分页,仅供对比参考

    <?php
    /**
    *接收客户端提交uid,查询出该用户有哪些订单,形如:
    {
      totalCount: 23,  //满足条件的记录总数
      pageSize: 5,    //页面大小,一页最多显示的记录数
      pageCount: 5,   //页面总数量
      pageNum: 3,     //当前显示的是哪页中的数据
      data: [{},{},{},{},{}] //当前页中的数据
    }
    
    */
    header('Content-Type: application/json');
    
    @$uid = $_REQUEST['uid'] or die('{"code":401,"msg":"uid required"}');
    @$pageNum = $_REQUEST['pageNum'];
    
    if(! $pageNum ){ //客户端未提交要显示的页号
        $pageNum = 1;
    }else {  //客户端提交了要显示的页号
        $pageNum = intval($pageNum); //把字符串解析为整数
    }
    
    //即将要输出给客户端的分页对象
    $output = [
        'totalCount' => 0,
        'pageSize' => 5,
        'pageCount' => 0,
        'pageNum' => $pageNum,
        'data' => null
    ];
    
    require('1_init.php');
    
    //1 查询出满足条件的总记录数
    $sql = "SELECT COUNT(*) FROM jd_order WHERE userId=$uid";
    $result = mysqli_query($conn,$sql);
    $output['totalCount'] = intval(  mysqli_fetch_row($result)[0]  );
    
    //2 计算总页数
    $output['pageCount'] = ceil( ($output['totalCount'])/($output['pageSize']) );
    
    //3 根据用户编号查询其所有的订单信息
    $start = ($output['pageNum']-1)*$output['pageSize']; //从哪一条记录开始读取
    $count = $output['pageSize']; //一次最多读取的条数
    $sql = "SELECT * FROM jd_order WHERE userId=$uid LIMIT $start, $count";
    $result = mysqli_query($conn, $sql);
    $orderList = mysqli_fetch_all($result, MYSQLI_ASSOC);
    
    //遍历每个订单,查询该订单所购买的产品信息
    foreach($orderList as $i=>$order){
        $oid = $order['oid'];   //订单编号
        $sql = "SELECT * FROM jd_product WHERE pid IN (SELECT productId FROM jd_order_detail WHERE orderId=$oid)";//根据订单编号查询产品编号,再查询产品信息
        $result = mysqli_query($conn,$sql);
        $productList = mysqli_fetch_all($result, MYSQLI_ASSOC);
        $orderList[$i]['productList'] = $productList;
    }
    //把查询到数据保存入输出数组!!!!
    $output['data'] = $orderList;
    
    
    echo json_encode($output);
    
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 124,134
精华内容 49,653
关键字:

js分页