javascript 支持页码格式的分页类
但是他们插件的附属功能很多又不需要,而且没必要就为了这么一个功能区引用这个库,为速度考虑吧,当然你服务器好也行,但是其实这个效果不是必须的,但是觉的会常用,所以就包装成类了,供以后使用,也供有需要的人学习使用。
下面只是一个简单的demo,用的话自己可以在编辑页码样式,有默认的格式。不废话了,自己看吧,有注释使用说明。。。类(3kb)使用可以参照demo,不明白使用的可以留言。
以后会慢慢写一些项目开发中常遇到的问题,以及解决方案,和大家学习分享。
jpage.js
代码如下:
/* 排序工具 by Funny ZAk <silenceacegmail.com> 2009-8-23
"调用方式 var zp = new zakPage(参数);zp.init();
参数以此为 源内容容器,分页结果容器,导航容器,页大小,单挑内容回调函数返回li对象,每个li的样式,选择后的样式没有则为null或""
,默认起始页数,格式化页码显示格式*/
function zakPage(id,pagec,navid,pagesize,lievt,ds,ss,idx,navp){
this.obj = this;
this.pageid = id;
this.pagec = pagec;
this.navc = navid;
this.pagesize = pagesize || 7;
this.lievt = lievt || null;
this.rcount = 0;
this.pagecount = 0;
this.cpage = 1;
this.ds = ds;
if(this.ds == null){this.ds = "";}
this.ss = ss;
if(this.ss == null){this.ss = "";}
this.idx = idx;
this.navpre = navp || ["共{$pcount}页/{$rcount}条,当前第{cpage}页","首页","上一页","下一页","末页"];
}
zakPage.prototype = {
init:function(){
document.getElementById(this.pageid).style.display = "none";
this.rcount = document.getElementById(this.pageid).getElementsByTagName("li").length;
var residue = this.rcount%this.pagesize;
var nums = parseInt(this.rcount/this.pagesize);
this.pagecount = nums;
if(residue != 0){this.pagecount = nums+1;}
this.gopage(this.idx);
},
guide:function(){
var nav = document.getElementById(this.navc);
var np = this.navpre;
nav.innerHTML = np[0].replace("{$rcount}",this.rcount).replace("{$pcount}",this.pagecount).replace("{cpage}",this.cpage);
nav.appendChild(this.createa(np[1],1));
nav.appendChild(this.createa(np[2],this.cpage-1));
nav.appendChild(this.createa(np[3],this.cpage+1));
nav.appendChild(this.createa(np[4],this.pagecount));
},
createa:function(html,index){
var aa = document.createElement("a");
aa.innerHTML = html;
var o = this.obj;
aa.onclick = function(){o.gopage(index);}
return aa;
},
gopage:function(index){
if(index>this.pagecount){index=1;}
if(index<=0){index = this.pagecount;}
this.cpage = index;
var ghtml = document.getElementById(this.pagec);
ghtml.innerHTML = "";
var pages = (index-1)*this.pagesize;
var pagee = pages+this.pagesize;
if(pagee>this.rcount){pagee = this.rcount;}
for(var i=pages;i<pagee;i++){
var lil = document.createElement("li");
lil.className = this.ds;
lil.innerHTML = this.litem(i);
var sss = this.ss;
if(this.lievt !=null){
lil.lievt = this.lievt;
lil.onclick = function(){
this.lievt(this);
this.className = sss;
}
}
ghtml.appendChild(lil);
}
this.guide();
},
litem:function(index){
return document.getElementById(this.pageid).getElementsByTagName("li")[index].innerHTML;
}
}
下面是完整的测试代码,js已经包括在内
body {
text-align:center;
padding:20px 0 0 0;
font-size:12px;
}
a {
color:#000;
font-size:12px;
cursor:pointer;
}
ul, li {
margin:0;
padding:0;
list-style:none;
}
.contain {
margin:0 auto;
width:825px;
text-align:left;
border:1px #000 solid;
padding:5px;
height:auto;
}
li.sd a,li.sd a:link,li.sd a:visited{background-color:#000; color:#FFF; font-size:13px;}
Jpage Demo - by funnyzak
/* 排序工具 by Funny ZAk 2009-8-23
"调用方式 var zp = new zakPage(参数);zp.init();
参数以此为 源内容容器,分页结果容器,导航容器,页大小,单挑内容回调函数返回li对象,每个li的样式,选择后的样式没有则为null或""
,默认起始页数,格式化页码显示格式*/
function zakPage(id,pagec,navid,pagesize,lievt,ds,ss,idx,navp){
this.obj = this;
this.pageid = id;
this.pagec = pagec;
this.navc = navid;
this.pagesize = pagesize || 7;
this.lievt = lievt || null;
this.rcount = 0;
this.pagecount = 0;
this.cpage = 1;
this.ds = ds;
if(this.ds == null){this.ds = "";}
this.ss = ss;
if(this.ss == null){this.ss = "";}
this.idx = idx;
this.navpre = navp || ["共{$pcount}页/{$rcount}条,当前第{cpage}页","首页","上一页","下一页","末页"];
}
zakPage.prototype = {
init:function(){
document.getElementById(this.pageid).style.display = "none";
this.rcount = document.getElementById(this.pageid).getElementsByTagName("li").length;
var residue = this.rcount%this.pagesize;
var nums = parseInt(this.rcount/this.pagesize);
this.pagecount = nums;
if(residue != 0){this.pagecount = nums+1;}
this.gopage(this.idx);
},
guide:function(){
var nav = document.getElementById(this.navc);
var np = this.navpre;
nav.innerHTML = np[0].replace("{$rcount}",this.rcount).replace("{$pcount}",this.pagecount).replace("{cpage}",this.cpage);
nav.appendChild(this.createa(np[1],1));
nav.appendChild(this.createa(np[2],this.cpage-1));
nav.appendChild(this.createa(np[3],this.cpage+1));
nav.appendChild(this.createa(np[4],this.pagecount));
},
createa:function(html,index){
var aa = document.createElement("a");
aa.innerHTML = html;
var o = this.obj;
aa.onclick = function(){o.gopage(index);}
return aa;
},
gopage:function(index){
if(index>this.pagecount){index=1;}
if(indexthis.rcount){pagee = this.rcount;}
for(var i=pages;i
- Php 构造函数construct的前下划线是
- PHP 读取文件内容代码(txt,js等)
- PHP 用数组降低程序的时间复杂度
- PHP 柱状图实现代码
- Ajax+PHP边学边练 之五 图片处理
- PHPMyadmin 配置文件详解(配置)
- 又一个php 分页类实现代码
- php 无限分类的树类代码
- Asp.net 文本框全选的实现
- php zip文件解压类代码
- photoshop 鼠绘忧郁的少女头像
- Photoshop 一只可爱的卡通小蜜蜂
- Photoshop 调出美女质感的红紫色肤色
- Photoshop 古典的油画效果处理方法
- photoshop 利用滤镜及素材打造超酷的火焰字
- photoshop 鼠绘漂亮的熟睡公主
- Photoshop 华丽的金色宝石皇冠
- Photoshop 粉红色的人物写真图片
- Photoshop 漂亮的紫色人物签名效果
- Photoshop 偏暗的圣诞美女美白
- Photoshop 蓝色梦幻的潮流壁纸制作
- Photoshop调色教程 人物淡灰色质感肤色
- Photoshop 漂亮的圣诞彩球制作
- Photoshop 简单的光照字效果
- HTML/JS互相转换工具-IE7兼容版
- css 在线压缩工具
- CSS整形与最佳化工具[压缩]
- JS Minifier js压缩
- packer_至强的javascript在线加密工具
- XHTML 代码嵌套查看工具[标签闭合]
- 我们 在线进制转换 可以实现各类进制间
- 在线JS脚本校验器检测js错误
- 将html转换为php,javascript和asp的在线工具
- 正则表达式30分钟入门教程
- 正则表达式 基础资料
- javascript 在线参考手册
- vbscript微软官方参考手册
- jQuery入门指南教程
- asp 学习在线手册
- php5最新中文参考手册
- mysql
- sql数据库学习
- 常用广告代码
- 百度近日收录查询
- alexa排名查询
- IP/域名WHOIS
- 网页编辑器
- QQ在线强制聊天工具 加强修正版
- 迅雷 快车专用链接加密解密js代码
- 在线繁简体字转换
- html中文完全手册
- qvod解密工具 马克思
li>各种男女围巾围法图文
function bb(a){alert(a.innerHTML);}
var arr = ["{$rcount}record,total{$pcount}page currenpage{cpage} "," indexpage"," prevpage "," nextpage "," lastpage "];
var zp = new zakPage("jpage","pagec","navs",15,bb,null,null,4,null); //此为默认页码格式
//var zp = new zakPage("jpage","pagec","navs",15,bb,null,null,4,arr); //自定义页码格式
zp.init();
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]