前端分頁仿百度分頁效果


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); })

最終效果圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM