function jsPading (_params){
var _default = {
rsCount : 0, //总条数
pageSize : 10, //每页大小
pageCount : 0, //分页数量
pageIndex : 1, //当前第几页
pageStepNumber : 3, //步长
pageStep : [], //步进
pageIsHome : false, //是否是首页
pageIsEnd : false //是否有尾页
};
//加载参数,如果为undefined则不覆盖,null会替换当前参数
var params = xyd.formatArguments(arguments);
_default = $.extend(true,_default , params["object"]);
//全部进行Number转换,防止类型不正确导致计算失败
_default = {
rsCount : Number(_default.rsCount),
pageSize : Number(_default.pageSize),
pageCount : Number(_default.pageCount),
pageIndex : Number(_default.pageIndex),
pageStepNumber : Number(_default.pageStepNumber)
};
//验证转换结果
for(var i in _default){
//如果为null,或者转换失败,则会出现NaN
if(_default[i].toString()=="NaN"){
throw new Error("jsPading params error");
}
}
//如果记录数小于1,修正为0,防止负数出现
_default.rsCount = _default.rsCount < 1 ? 0 : _default.rsCount;
//总分页数
_default.pageCount = _default.rsCount%_default.pageSize==0
? _default.rsCount/_default.pageSize
: parseInt(_default.rsCount/_default.pageSize)+1;
//修正当前页
_default.pageIndex = _default.pageIndex>_default.pageCount ? _default.pageCount : _default.pageIndex;
_default.pageIndex = _default.pageIndex<1 ? 1 : _default.pageIndex;
//根据用户想看的页pagenum,算出页面的起始和结束页码
_default.pageStepNumber = _default.pageStepNumber<3 ? 3 : _default.pageStepNumber;
if(_default.pageCount<=_default.pageStepNumber){
//如果不是最后
_default.pageStep = [1,_default.pageCount];
}else{
_default.pageStep = [_default.pageStepNumber%2==0
?_default.pageIndex-parseInt(_default.pageStepNumber/2-1)
:_default.pageIndex- parseInt(_default.pageStepNumber/2),_default.pageIndex + parseInt(_default.pageStepNumber/2)];
}
_default.pageStep = _default.pageStep[0]<1
? [1,_default.pageStepNumber]
: _default.pageStep;
_default.pageStep = _default.pageStep[1]>_default.pageCount
? [_default.pageCount-(_default.pageStepNumber-1),_default.pageCount]
: _default.pageStep;
_default.pageStep = _default.pageStep[0]>_default.pageStep[1]
? [_default.pageStep[1],_default.pageStep[1]]
: _default.pageStep;
_default.pageStepList = [];
for(var i=_default.pageStep[0];i<=_default.pageStep[1];i++){
_default.pageStepList.push(i);
}
_default.pageIsHome = _default.pageIndex > 1 ? true : false;
_default.pageIsEnd = _default.pageIndex < _default.pageCount ? true : false;
_default.result = ""
+ "记录数["+_default.rsCount+"]"
+ ",每页大小["+_default.pageSize+"]"
+ ",分页数["+_default.pageCount+"]"
+ ",当前页索引["+_default.pageIndex+"]"
+ ",步进["+_default.pageStep+"]"
+ ",步长["+_default.pageStepNumber+"]"
+ ",是否有首页["+_default.pageIsHome+"]"
+ ",是否有尾页["+_default.pageIsEnd+"]"
return _default;
}