純js手動分頁


昨天讓做個頁面,后台提供所有數據,沒有做好分頁,需要前端js手動分頁。

我參考了 http://www.cnblogs.com/jiechn/p/4095029.html

做了些許改動讓分頁效果更加完善。

最終效果圖

js代碼

/**
 * 分頁函數
 * pno--頁數
 * psize--每頁顯示記錄數
 * 分頁部分是從真實數據行開始,因而存在加減某個常數,以確定真正的記錄數
 * 純js分頁實質是數據行全部加載,通過是否顯示屬性完成分頁功能
 **/
function goPage(pno){
    var itable = document.getElementById("idData");
    var num = itable.rows.length;//表格所有行數(所有記錄數)
    console.log(num);
    var totalPage = 0;//總頁數
    var pageSize = 15;//每頁顯示行數
    //總共分幾頁
    if(num/pageSize > parseInt(num/pageSize)){
        totalPage=parseInt(num/pageSize)+1;
    }else{
        totalPage=parseInt(num/pageSize);
    }
    var currentPage = pno;//當前頁數
    var startRow = (currentPage - 1) * pageSize+1;//開始顯示的行  31
    var endRow = currentPage * pageSize;//結束顯示的行   40
    endRow = (endRow > num)? num : endRow;    //40
    console.log(endRow);
    //遍歷顯示數據實現分頁
    for(var i=1;i<(num+1);i++){
        var irow = itable.rows[i-1];
        if(i>=startRow && i<=endRow){
            irow.style.display = "table-row";
        }else{
            irow.style.display = "none";
        }
    }
    var pageEnd = document.getElementById("pageEnd");
    var tempStr = "<span>共"+totalPage+"頁</span>";


//.bind("click",{"newPage":pageIndex},function(event){
//        goPage((pageIndex-1)*pageSize+1,(pageIndex-1)*pageSize+pageSize);
//    }).appendTo('#pages');
    if(currentPage>1){
        tempStr += "<span class='btn' href=\"#\" onClick=\"goPage("+(1)+")\">首頁</span>";
        tempStr += "<span class='btn' href=\"#\" onClick=\"goPage("+(currentPage-1)+")\">上一頁</span>"
    }else{
        tempStr += "<span class='btn'>首頁</span>";
        tempStr += "<span class='btn'>上一頁</span>";
    }

    for(var pageIndex= 1;pageIndex<totalPage+1;pageIndex++){
        tempStr += "<a onclick=\"goPage("+pageIndex+")\"><span>"+ pageIndex +"</span></a>";
    }

    if(currentPage<totalPage){
        tempStr += "<span class='btn' href=\"#\" onClick=\"goPage("+(currentPage+1)+")\">下一頁</span>";
        tempStr += "<span class='btn' href=\"#\" onClick=\"goPage("+(totalPage)+")\">尾頁</span>";
    }else{
        tempStr += "<span class='btn'>下一頁</span>";
        tempStr += "<span class='btn'>尾頁</span>";
    }

    document.getElementById("barcon").innerHTML = tempStr;

}

使用方式 

html在需要添加分頁處插入代碼

 <div id="barcon" name="barcon"></div>

js在需要觸發生成分頁效果處插入代碼

goPage(pageNum); //pageNum 為你要跳轉的頁碼

 


免責聲明!

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



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