• 前端分页仿百度分页效果


    css部分:

    *{
                    margin: 0;
                    padding: 0;
                }
                li{
                    list-style: none;
                }
                .pagination li{
                    height: 28px;
                    float: left;
                    font-size: 20px;
                    color: #A21B2C;
                    text-align: center;
                    cursor: pointer;
                    padding: 0 5px;
                    margin: 0 5px;
                }
                .pagination .selected-act{
                    background: #A21B2C;
                    border-radius: 5px;
                    color: #fff;
                }
                .pagination .change-page{
                    font-size: 16px;
                    color: #A21B2C;
                    height: 28px;
                    width: 28px;
                    text-align: center;
                    float: left;
                    line-height: 28px;
                    cursor: pointer;
                    margin: 0 20px;
                }
                .first-page,.last-page{
                    float: left;
                    font-size: 20px;
                    color: #A21B2C;
                    height: 28px;
                    line-height: 28px;
                    cursor: pointer;
                }
                .forbid-click{
                    opacity: 0.3;
                    pointer-events: none;
                }

    HTML部分:

    <div class="pagination">
                <div class="first-page">
                    首页
                </div>
                <div class="pre-page change-page"></div>
                <ul class="pagination-ul">
                </ul>
                <div class="next-page change-page"></div>
                <div class="last-page">
                    尾页
                </div>
            </div>

    js部分:

    var total = 100;//总页数
                function pagination(currentVal,totalVal){//当前页,总页数
                    var html = '';
                    var currentPage = currentVal;
                    var pageArr = [];//盛放当前显示的所有页码的数组
                    if(totalVal < 11){//总页数小于11页的情况
                        var pageArr = [];
                        for(var i = 0;i<totalVal;i++){
                            pageArr.push(i+1);
                        }
                    }else if(currentPage > 5 && (totalVal - currentPage) > 3){//当前页大于5且总页数减当前页大于3
                        pageArr = [currentPage-5,currentPage-4,currentPage-3,currentPage-2,currentPage-1,currentPage,currentPage+1,currentPage+2,currentPage+3,currentPage+4]
                    }else if(currentPage > 5 && totalVal - currentPage < 4){//当前页大于5且总页数减当前页小于4
                        pageArr = [totalVal-9,totalVal-8,totalVal-7,totalVal-6,totalVal-5,totalVal-4,totalVal-3,totalVal-2,totalVal-1,totalVal]
                    }else if(currentPage<6 && totalVal > 9){//当前页小于6且总页数大于9
                        var pageArr = [];
                        for(var i = 0;i<10;i++){
                            pageArr.push(i+1);
                        }
                    }
              //当前页对应的页码加高亮
    for(var h=0;h<pageArr.length;h++){ if(pageArr[h]==currentVal){ html += '<li class="selected-act">'+pageArr[h]+'</li>'; }else{ html += '<li>'+pageArr[h]+'</li>'; } } document.getElementsByClassName('pagination-ul')[0].innerHTML = html; if(currentVal == 1){//如果当前页等于1则首页和上一页按钮禁止点击 $('.first-page').addClass('forbid-click'); $('.pre-page').addClass('forbid-click'); $('.last-page').removeClass('forbid-click'); $('.next-page').removeClass('forbid-click'); }else if(currentVal == total){//如果当前页等于总页数则尾页和下一页按钮禁止点击 $('.last-page').addClass('forbid-click'); $('.next-page').addClass('forbid-click'); $('.first-page').removeClass('forbid-click'); $('.pre-page').removeClass('forbid-click'); }else{//以上条件都不满足则所有按钮均可点击 $('.first-page').removeClass('forbid-click'); $('.last-page').removeClass('forbid-click'); $('.pre-page').removeClass('forbid-click'); $('.next-page').removeClass('forbid-click'); } $('.pagination li').click(function(){//点击页码 $('.pagination li').unbind();//先解绑点击事件避免叠加 pagination(parseInt($(this).text()),total) }) $('.pre-page').click(function(){//点击上一页按钮 $('.pre-page').unbind(); pagination(currentVal-1,total); }) $('.next-page').click(function(){//点击下一页按钮 $('.next-page').unbind(); pagination(currentVal+1,total); }) } pagination(55,total); $('.first-page').click(function(){//点击首页按钮 pagination(1,total); }); $('.last-page').click(function(){//点击尾页按钮 pagination(total,total); })

    最终效果图:

  • 相关阅读:
    sql--删除
    数据库--范式
    sql语句--插入
    sql--查询
    shapefile数据文件组成
    sql---应用
    sql语句 函数
    SWIG:Simple Wrapper and Interface Generator
    职责链模式
    mybatis 装饰模式【Executor】 缓存篇
  • 原文地址:https://www.cnblogs.com/fanyanzhao/p/10569531.html
Copyright © 2020-2023  润新知