模仿百度、谷歌搜索分页逻辑写的JS分页代码(适用于大数据分页展示时,样式自己换,效果看百度/谷歌分页)

大数据分页显示
本文介绍了一个用于大数据分页显示的JavaScript函数,该函数能够根据总页数、当前页、显示页码的ul元素ID和分页查询的JS方法名动态生成分页导航。通过条件判断和循环,该函数能根据不同页面情况生成相应的上一页、下一页和页码链接。
/**
 * @param pageTotal  总页数
 * @param currentPage  当前页
 * @param ulId  显示页码的ul的id值
 * @param findPageFunctionName  分页查询的js方法名
 */
function bigDataShowPage(pageTotal, currentPage, ulId, findPageFunctionName) {
    var pagination = $("#"+ulId+"");
    pagination.empty();

    var current = currentPage+1;

    if (pageTotal <= 10){
        if (current == 1){
            pagination.append("<li class=\"am-disabled\"><a style=\"background-color:#337ab7 ;color: #FFF;\">1</a></li>");
        }else {
            pagination.append("<li><a href=\"javascript:"+findPageFunctionName+"("+"'"+(currentPage-1)+"'"+");\">&laquo;</a></li>");
            pagination.append("<li><a href=\"javascript:"+findPageFunctionName+"("+"'"+0+"'"+");\">"+1+"</a></li>");
        }

        for (var i = 1; i < pageTotal; i++){
            if (i == currentPage) {
                pagination.append("<li><a style=\"background-color:#337ab7 ;color: #FFF;\" href=\"javascript:"+findPageFunctionName+"("+"'"+i+"'"+");\">"+(i+1)+"</a></li>");
            }else {
                pagination.append("<li><a href=\"javascript:"+findPageFunctionName+"("+"'"+i+"'"+");\">"+(i+1)+"</a></li>");
            }
        }

        if (pageTotal != current){
            pagination.append("<li><a href=\"javascript:"+findPageFunctionName+"("+"'"+(currentPage+1)+"'"+");\">&raquo;</a></li>");
        }

    }else {
        if (current != 1){
            pagination.append("<li><a href=\"javascript:"+findPageFunctionName+"("+"'"+(currentPage-1)+"'"+");\">&laquo;</a></li>");
        }

        for (var i = 1; i <= pageTotal; i++){
            if (current <= 6){
                if (i <= 10) {
                    if (i == current) {
                        pagination.append("<li><a style=\"background-color:#337ab7 ;color: #FFF;\" href=\"javascript:"+findPageFunctionName+"("+"'"+(i-1)+"'"+");\">"+i+"</a></li>");
                    }else {
                        pagination.append("<li><a href=\"javascript:"+findPageFunctionName+"("+"'"+(i-1)+"'"+");\">"+i+"</a></li>");
                    }
                }
            } else {
                if (current >= (pageTotal - 4) ){
                    if (i > (pageTotal - 10)) {
                        if (i == current) {
                            pagination.append("<li><a style=\"background-color:#337ab7 ;color: #FFF;\" href=\"javascript:"+findPageFunctionName+"("+"'"+(i-1)+"'"+");\">"+i+"</a></li>");
                        }else {
                            pagination.append("<li><a href=\"javascript:"+findPageFunctionName+"("+"'"+(i-1)+"'"+");\">"+i+"</a></li>");
                        }
                    }
                }else {
                    if ((i >= (current - 5)) && (i <= (current + 4))) {
                        if (i == current) {
                            pagination.append("<li><a style=\"background-color:#337ab7 ;color: #FFF;\" href=\"javascript:"+findPageFunctionName+"("+"'"+(i-1)+"'"+");\">"+i+"</a></li>");
                        }else {
                            pagination.append("<li><a href=\"javascript:"+findPageFunctionName+"("+"'"+(i-1)+"'"+");\">"+i+"</a></li>");
                        }
                    }
                }
            }
        }

        if (pageTotal != current){
            pagination.append("<li><a href=\"javascript:"+findPageFunctionName+"("+"'"+(currentPage+1)+"'"+");\">&raquo;</a></li>");
        }
    }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值