前端JS分页组件,纯手写,基本功能完善 ,参数格式支持mybatis pagehelper

1 篇文章 0 订阅
/**
 * JS分页组件 数据格式参考 mybatis PageHelper 查询的分页方法看会的数据格式
 * @param data
 * @returns {string}
 */
function pagination(data) {

    var count = data.total // 总数
    var firstPage = data.firstPage // 首页
    var pageNum = data.pageNum //当前页
    var prevPage = pageNum - 1; //  上一页
    var nextPage = data.nextPage // 下一页
    var lastPage = data.pages // 最后一页

    var length = 5;
    var slider = 2;

    var html;

    if (pageNum == firstPage) {
        html = ' <li class="previous disabled" aria-controls="searchlist" tabindex="0" id="searchlist_previous"><a href="javascript:void(0)" class="prev" title="上一页"><i class="iconfont icon-arrow-left"></i></a></li>'
    } else {
        html = '<li class="previous" aria-controls="searchlist" tabindex="0" id="searchlist_previous"><a href="javascript:void(0)" class="prev" title="上一页" onclick="findList(' + prevPage + ')"><i class="iconfont icon-arrow-left"></i></a></li>'
    }

    var start = 0
    if (pageNum == length) {
        start = 1;
    }
    if (pageNum > length && pageNum < lastPage - slider) {
        start = pageNum - length + 1;
    }

    if (pageNum >= lastPage - slider && pageNum - length >1) {
        start = pageNum - length;
    }

    if (start > 0 && start < lastPage - slider) {
        length = length + start
    } else {
        start = 0;
    }
    console.log(start)

    for (i = start; i < length; i++) {

        var index = i + 1

        if (index == pageNum && index < lastPage - slider) {
            html = html + '<li aria-controls="searchlist" tabindex="0" id=""><a href="javascript:void(0)">' + index + '</a></li>'
        } else {
            if (index <= lastPage - slider) {
                html = html + '<li aria-controls="searchlist" tabindex="0" id=""><a href="javascript:void(0)" onclick="findList(' + index + ')">' + index + '</a></li>'
            }
        }

        if (index == length && index < lastPage - slider) {
            html = html + '<li aria-controls="searchlist" tabindex="0"><a href="javascript:void(0)" class="dot">...</a></li>'
        }
    }


    if (lastPage > 1) {
        for (var i = 1; i <= slider; i++) {
            var index = lastPage - slider + i
            html = html + '<li aria-controls="searchlist" tabindex="0" id=""><a href="javascript:void(0)" onclick="findList(' + index + ')">' + index + '</a></li>'
        }
    }else {
        html = html + '<li aria-controls="searchlist" tabindex="0" id=""><a href="javascript:void(0)">' + firstPage + '</a></li>'
    }



    if (pageNum == lastPage) {
        html = html + '<li class="next disabled" aria-controls="searchlist" tabindex="0" id="searchlist_next"><a href="javascript:void(0)" class="next" title="下一页"><i class="iconfont icon-arrow-right"></i></a></li>'
    } else {
        html = html + '<li class="next" aria-controls="searchlist" tabindex="0" id="searchlist_next"><a href="javascript:void(0)" class="next" title="下一页" onclick="findList(' + nextPage + ')"><i class="iconfont icon-arrow-right"></i></a></li>'
    }
    return html;
}

更新一个 选中事件 和 当前页 禁止点击判断    

/**
 * JS分页组件 数据格式参考 mybatis PageHelper 查询的分页方法看会的数据格式
 * @param data
 * @returns {string}
 */
function pagination(data) {

    var count = data.total // 总数
    var firstPage = data.firstPage // 首页
    var pageNum = data.pageNum //当前页
    var prevPage = pageNum - 1; //  上一页
    var nextPage = data.nextPage // 下一页
    var lastPage = data.pages // 最后一页

    var length  =5;
    var slider = 2;

    var html;

    if (pageNum == firstPage) {
        html = ' <li class="previous disabled" aria-controls="searchlist" tabindex="0" id="searchlist_previous"><a href="javascript:void(0)" class="prev" title="上一页"><i class="iconfont icon-arrow-left"></i></a></li>'
    } else {
        html = '<li class="previous" aria-controls="searchlist" tabindex="0" id="searchlist_previous"><a href="javascript:void(0)" class="prev" title="上一页" onclick="findList(' + prevPage + ')"><i class="iconfont icon-arrow-left"></i></a></li>'
    }

    var start = 0
    if (pageNum == length) {
        start = 1;
    }
    if (pageNum > length && pageNum < lastPage - slider) {
        start = pageNum - length + 1;
    }

    if (pageNum >= lastPage - slider && pageNum - length >1) {
        start = pageNum - length;
    }

    if (start > 0 && start < lastPage - slider) {
        length = length + start
    } else {
        start = 0;
    }

    for (i = start; i < length; i++) {

        var index = i + 1

        if (index == pageNum && index < lastPage - slider) {
            html = html + '<li aria-controls="searchlist" tabindex="0" class="active"><a href="javascript:void(0)">' + index + '</a></li>'
        } else {
            if (index <= lastPage - slider) {
                if (index == pageNum) {
                    html = html + '<li aria-controls="searchlist" tabindex="0" class="active"><a href="javascript:void(0)">' + index + '</a></li>'
                }else {
                    html = html + '<li aria-controls="searchlist" tabindex="0"><a href="javascript:void(0)" onclick="findList(' + index + ')">' + index + '</a></li>'
                }
            }
        }

        if (index == length && index < lastPage - slider) {
            html = html + '<li aria-controls="searchlist" tabindex="0"><a href="javascript:void(0)" class="dot">...</a></li>'
        }
    }

    if (lastPage > 1) {
        for (var i = 1; i <= slider; i++) {
            var index = lastPage - slider + i
            if (index == pageNum) {
                html = html + '<li aria-controls="searchlist" tabindex="0" class="active"><a href="javascript:void(0)">' + index + '</a></li>'
            }else {
                html = html + '<li aria-controls="searchlist" tabindex="0"><a href="javascript:void(0)" onclick="findList(' + index + ')">' + index + '</a></li>'
            }
        }
    }else {
        html = html + '<li aria-controls="searchlist" tabindex="0" class="active"><a href="javascript:void(0)">' + firstPage + '</a></li>'
    }

    if (pageNum == lastPage) {
        html = html + '<li class="next disabled" aria-controls="searchlist" tabindex="0" id="searchlist_next"><a href="javascript:void(0)" class="next" title="下一页"><i class="iconfont icon-arrow-right"></i></a></li>'
    } else {
        html = html + '<li class="next" aria-controls="searchlist" tabindex="0" id="searchlist_next"><a href="javascript:void(0)" class="next" title="下一页" onclick="findList(' + nextPage + ')"><i class="iconfont icon-arrow-right"></i></a></li>'
    }
    return html;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值