var page = page || {};
page.fn = null;
/*
定义
var opinion_content={param:"opinion_content",type:"str"};
var opinion_name={param:"opinion_name",type:"str"};
var create_date={param:"create_date",type:"date"};
//{param:"opinion_name",type:"str",title_length:12};
page.pageParams=[opinion_content,opinion_name,create_date];
*/
var stop=true;
var number=1;
page.pageParams=null;//循环替换参数
page.currentPage=1;//当前页页数
page.formCurrentPage=1;//form当前页页数
page.pagesize=10;//每页记录数
page.totalPage=0;//总页数
page.allRow=0;//总记录数
page.data=null;//传参
page.pageHtml="pageHtml";//分页内容添加的DIV
page.url="";//分页URL
page.number=null;//异步加载次数,默认全部
page.ajaxPage = function(data){
data.currentPage=page.currentPage;
data.pagesize=page.pagesize;
$("#load").show();
$.ajax({
url : page.url,
type : "POST",
data : data,
dataType : "json",
success : function(json) {
if (!jQuery.isEmptyObject(json)) {
$.each(json.page.list, function(i) {
var obj = json.page.list[i];
var cyclePage = $("#cyclePage").html();
$.each(page.pageParams, function(j) {
var param = page.pageParams[j].param;
var title_length = page.pageParams[j].title_length;
var type = page.pageParams[j].type;
var v = obj[param];
eval("var re = /{"+param+"}/ig;");
if (type&&type=="date"){
cyclePage = cyclePage.replace(re,dateToSrting(v));
}
else{
if (title_length){
v = v.length>title_length?v.substr(0,title_length)+"...":v;
}
cyclePage = cyclePage.replace(re,v);
}
});
$("#"+page.pageHtml).append(cyclePage);
});
//alert(json.page.currentPage);
page.currentPage=json.page.currentPage;
page.totalPage=json.page.totalPage;
page.allRow=json.page.allRow;
$("#load").hide();
}
stop=true;
}
});
};
//p为当前页码,pn为总页数
page.nav = function(p, pn) {
//只有一页,直接显示1
if (pn <= 1) {
this.p = 1;
this.pn = 1;
return this.pHtml2(1);
}
if (pn < p) {
p = pn;
};
var re = "";
//第一页
if (p <= 1) {
p = 1;
} else {
//非第一页
re += this.pHtml(p - 1, pn, "<上一页");
//总是显示第一页页码
re += this.pHtml(1, pn, "1");
}
//校正页码
this.p = p;
this.pn = pn;
//开始页码
var start = 2;
var end = (pn < 6) ? pn: 6;
//是否显示前置省略号,即大于10的开始页码
if (p >= 5) {
re += "...";
start = p - 2;
var e = p + 2;
end = (pn < e) ? pn: e;
}
for (var i = start; i < p; i++) {
re += this.pHtml(i, pn);
};
re += this.pHtml2(p);
for (var i = p + 1; i <= end; i++) {
re += this.pHtml(i, pn);
};
if (end < pn) {
re += "...";
//显示最后一页页码,如不需要则去掉下面这一句
re += this.pHtml(pn, pn);
};
if (p < pn) {
re += this.pHtml(p + 1, pn, "下一页>");
};
return re;
};
//显示非当前页
page.pHtml = function(pageNo, pn, showPageNo) {
showPageNo = showPageNo || pageNo;
var H = " " + showPageNo + " ";
return H;
};
//显示当前页
page.pHtml2 = function(pageNo) {
var H = " " + pageNo + " ";
return H;
};
//输出页码,可根据需要重写此方法
page.go = function(p1, pn1) {
var p = parseInt(p1);
var pn = parseInt(pn1);
//$("#pageNav").html(this.nav(p,pn)); //如果使用jQuery可用此句
document.getElementById("pageNav").innerHTML = this.nav(p, pn);
if (this.fn != null) {
this.fn(this.p, this.pn);
};
};
page.countTotalPage = function(){
var pageSize = page.number*page.pagesize;
var totalPage = page.allRow % pageSize == 0 ? page.allRow / pageSize : Math.ceil(page.allRow / pageSize);
return totalPage;
}
page.initialize_currentPage = function(){
if (page.number){
return (page.number*page.formCurrentPage)-1;
}
return page.currentPage;
}
$(window).scroll(function(){
totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop());
if($(document).height() <= totalheight){
if(stop==true){
stop=false;
myInterval();
}
}
});
function myInterval(){
var p = page.currentPage+1;
page.currentPage = p;
if (page.number){
if (number