SMPaging 某度分页效果

作者: 圆梦人生 | 来源:发表于2018-03-30 09:21 被阅读12次

SMPaging 某度分页效果:

github地址:https://github.com/sm0210/SMPaging

效果

image.png

代码:

<html>
    <head>
        <title>分页效果</title>
        <meta charset="utf-8"/>
        <!--
            author: SM
            email: sm0210@qq.com
            desc: 分页效果
        -->
    </head>
    <style type="text/css">
        body {
            padding: 10px;
        }
        a, font, button, input {
            border: 1px solid #ccc;
            min-width: 30px;
            height: 30px;
            display: inline-block;
            text-align: center;
            line-height: 30px;
            text-decoration:none;
            color: #007DE3;
            padding: 2px;
        }
        font {
            color: #000;
        }
        button{
            width: 36px;
            height: 36px;
        }
    </style>
<body>
        
        <script>
            //获取url参数
            getParameterByName= function (name) {
                name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
                var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
                    results = regex.exec(location.search);
                return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
            }
            //跳转页
            goPage = function(){
                //
                var pageEl = document.getElementById('gopageInput');
                window.location.href='?page=' + pageEl.value;
            }
            
            //分页
            var html = '';
            var currentPage = Number(getParameterByName('page') || 1);
            var totalCount = 569;//总记录数
            var pageSize = 10; //一页10条
            var pageCount = Math.ceil(totalCount / pageSize); //总共多少页
            
            //分页是否超过总记录数
            if(currentPage > pageCount) {
                currentPage = pageCount;
            }
            //分页是否少于1
            if(currentPage < 1) {
                currentPage = 1;
            }
            //开始分页数
            var startPage = currentPage - 5;
            //结束分页数
            var endPage = currentPage + 4;
            
            //如果大于总页数
            if(endPage > pageCount) {
                endPage = pageCount;
            }
            //如果分页小于5页
            if(currentPage <= 5){
                endPage = pageCount > 10 ? 10 : pageCount;
            }
            //如果最后几页不够10的,开始分页补齐
            if(endPage == pageCount){
                //
                var diff = 4 - (pageCount - currentPage);
                startPage = startPage - diff;
            }
            //
            if(startPage < 1) startPage = 1;
            
            
            //显示信息
            html+= '<span style="padding-right: 100px;">显示:'+((currentPage - 1) * pageSize + 1)+' - '+(Math.min(currentPage * pageSize, totalCount))+'条,共'+totalCount+'条/'+pageCount+'页</span>';

            //是否显示上一页 和 第一页
            if(currentPage > 1) {
                //第一页
                html+= '<a title="第一页" href="?page=1"> << </a> &nbsp;';
                //上一页
                html+= '<a title="上一页" href="?page='+(currentPage - 1)+'"> < </a> &nbsp;';
            }else{
                //不可以点击
                //第一页
                html+= '<font title="已是第一页" > << </font> &nbsp;';
                //上一页
                html+= '<font title="已是第一页" > < </font> &nbsp;';
            }
            
            //
            for(var i = startPage; i <= endPage;i++){
                if(i == currentPage){
                    html+= '<font>'+i+ '</font> &nbsp;';
                }else{
                    html+= '<a  href="?page='+i+'">'+i+'</a> &nbsp;';
                }
                
            }
            
            //是否显示下一页和最后一页
            if(currentPage < pageCount){
                //下一页
                html+= '<a  title="下一页" href="?page='+(currentPage + 1)+'"> > </a> &nbsp;';
                
                //最后一页
                html+= '<a  title="最后一页" href="?page='+(pageCount)+'"> >> </a> &nbsp;';
            }else{
                //不可以点击
                //下一页
                html+= '<font  title="已是最后一页"> > </font> &nbsp;';
                
                //最后一页
                html+= '<font  title="已是最后一页" > >> </font> &nbsp;';
            }
            
            //跳转
            html+='转到 <input id="gopageInput" type="text" style="width:50px;height: 36px;" value="'+(Math.min(currentPage + 1, pageCount))+'"/> 页 <button onclick="goPage();">确定</button>';
            
            //
            document.write(html);
        </script>
        
    </body>
</html>

相关文章

  • SMPaging 某度分页效果

    SMPaging 某度分页效果: github地址:https://github.com/sm0210/SMPag...

  • 分页

    分页 效果

  • 原生js分页效果

    2017年4月份,我去无锡某软件公司面试,项目经理当时问到一个问题:怎么实现分页效果,说明实现的原理?当时觉得分页...

  • 一篇文章带你了解CSS 分页实例

    生活中分页的效果到处可见,今天教大家详细的分析一下分页效果。 如何使用 HTML 和 CSS 来创建分页? 如果你...

  • 分页效果

    制作时间:13:00 - 15:00 实现的效果图: 假设设置每5页切换一下,一共有10页。那先来分析一下: 如果...

  • 分页 导航栏 开班信息

    分页 效果 导航条1 效果 导航条2 效果 开班信息

  • 分页器(easy-ui)

    简单的分页效果。利用easy-ui的分页(pagination)效果图.png 页面结构: js结构: 主要用到e...

  • ScrollerView 分页浏览

    项目有这种Scrollerview分页效果,发现很多APP也有这种效果,第一页page分页效果在稍左边,第二页在中...

  • fmdb 分页查询

    所以做分页,就改变limit 里面的数字,就完美的做到了分页效果

  • 2018-12-27

    分页器 Paginator 常见用法 实例练习:实现分页效果 template下的html views.py

网友评论

    本文标题:SMPaging 某度分页效果

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