在学习面向对象的JavaScript,今天花了会时间写了个分页的功能,用JS前端实现的,可是,问题在于还是不太明白,还是实践出真知,后来才发现写的根本不是什么类,还是全局对象满天飞的一个大函数,不过对我也有一定启发,看了看别人写的类,还是感觉不错,近期再修改下,添加上样式,会发布一个完全版的分页JS类。
下面是刚完成的分页函数。
Javascript部分:
/*@author xiaojue*/
//JS翻页类
var Npage=function(pageparent,putwhere,pagechild,size){
//类初始化
Npage.num=1;
Npage.s=document.getElementById(pageparent);
Npage.p=document.getElementById(putwhere);
Npage.d=document.getElementById(pageparent).getElementsByTagName(pagechild);
Npage.size=size;
//跳转
Npage.pagegoto = function(i){
Npage.num=i;
pageup();
};
//判断参数是否合法
if(Npage.s==null || Npage.p==null || Npage.d==null || isNaN(Npage.size)) return;
//分页
var nowpage=function(){
var nowpagehtml=[];
for(i=1;i<=zsize();i++){
nowpagehtml.push(""+i+"");
}
nowpagehtml=nowpagehtml.join(" ");
return nowpagehtml;
}
//输出
Npage.p.innerHTML="每页共"+Npage.size+"条";
Npage.p.innerHTML+=" 上一页";
Npage.p.innerHTML+=nowpage();
Npage.p.innerHTML+=" 下一页";
Npage.p.innerHTML+=" 共有"+zsize()+"页";
//上下分页
var Na=Npage.p.getElementsByTagName("a");
for(i=0;i= Npage.num*Npage.size || j < (Npage.num-1)*Npage.size) continue;
Npage.d[j].style.display = "block";
}
}
//获得总页数
var zsize=function(){
return Math.ceil(Npage.d.length/Npage.size);
}
//分页
var Nprevaction=function(){
if(Npage.num==1){alert("没有上一页了");return}
Npage.num=Npage.num-1;
pageup();
}
var Nnextaction=function(){
if(Npage.num==zsize()){alert("没有下一页了");return}
Npage.num=Npage.num+1;
pageup();
}
使用方法:
window.onload=function(){
var mypage1= new Npage("table1","page1","tr",4);
}
详细浏览地址如下:
http://www.deisgnsor.com/demo/function.html
再发布就准备是添加自定义样式和真正的JS类代码了,请期待吧。
Read More
Comments