jQuery 实现分页导航 v2.0(附demo)

今天整理了下之前写的分页导航条,感觉之前的那个很不灵活,执行方法传入的参数只能一个操作类型和一个当前页,想要多传入几个参数就比较麻烦,现在重新整理了下,并附上了demo,希望大家可以进来改进改进,共享资源! :arrow:

/**
* 分页导航条
* 09/01/17
* @author lym6520@qq.com
* @verson v2.0
* @param {} fnName 翻页时执行的函数名(传入的第一个参数必须是“当前页码”))
* @param {} fnNameParams fnName函数的参数,数组形式(比如:var arr = new Array(); arr[0] = 1;arr[1] = "hello")
* @param {} pagetotal 总页码
* @param {} totalItem 总记录数
* @param {} showID 页面显示分页导航条的div ID
*/
function pageNavigation(fnName, fnNameParams, pagetotal, totalItem, showID) {
var fnParam = new Array();
//如果这样 fnParam = fnNameParams;两个都指向同一引用
for(var i = 0 ; i < fnNameParams.length; i++)
fnParam[i] = fnNameParams[i];

var pageIndex = parseInt(fnNameParams[0]);//当前页

// 无记录
if (pagetotal == 0) {
$('#' + showID).empty();//清空翻页导航条
return;
}
// 分页
var front = pageIndex - 4;// 前面一截
var back = pageIndex + 4;// 后面一截

$('#' + showID).empty();//清空翻页导航条

// 页码链接
// 首页, 上一页
if (pageIndex == 1) {
$('#' + showID).append("首页 上一页 ");
} else {
fnParam[0] = 1 ;
var fn = fnName + "(" + fnParam + ")"; //组装执行的函数
var str = "<a href = 'javascript:" + fn + "'>首页</a> ";//创建连接
$('#' + showID).append(str);

fnParam[0] = pageIndex - 1 ;
var fn = fnName + "(" + fnParam + ")"; //组装执行函数
var str = "<a href = 'javascript:" + fn + "'>上一页</a> ";//创建连接
$('#' + showID).append(str);
}

if (pagetotal == 1) {
$('#' + showID).append("1 ");
}
// 如果当前页是5,前面一截就是1234,后面一截就是6789
if (pagetotal > 1) {
var tempBack = pagetotal;
var tempFront = 1;
if (back < pagetotal)
tempBack = back;
if (front > 1)
tempFront = front;
for (var i = tempFront; i <= tempBack; i++) {
if (pageIndex == i) {
var str = " " + i + " ";
$('#' + showID).append(str);
} else {
fnParam[0] = i;
var fn = fnName + "(" + fnParam + ")"; //组装执行的函数
var str = "<a href = 'javascript:" + fn + "'>[" + i + "]</a>";//创建连接
$('#' + showID).append(str);
}
}
}

// 下一页, 尾页
if (pageIndex == pagetotal) {
$('#' + showID).append("下一页 尾页 ");
} else {
fnParam[0] = pageIndex + 1 ;
var fn = fnName + "(" + fnParam + ")"; //组装执行的函数
var str = " <a href = 'javascript:" + fn + "'>下一页</a> ";//创建连接
$('#' + showID).append(str);

fnParam[0] = pagetotal ;
var fn = fnName + "(" + fnParam + ")"; //组装执行的函数
var str = "<a href = 'javascript:" + fn + "'> 尾页 </a> ";//创建连接
$('#' + showID).append(str);
}

// 红色字体显示当前页
var str = "<font color = 'red'>" + pageIndex +"</font>";
$('#' + showID).append(str);

// 斜线"/"
$('#' + showID).append("/");

// 蓝色字体显示总页数
var str = "<font color = 'blue'>" + pagetotal +"</font>";
$('#' + showID).append(str);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值