js--page--分页--

简介: JS分页Class - 风干的果子

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS分页Class - 风干的果子</title>
<style type="text/css">
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" >
$(function(){
    var pageDiv1=new jsPage("list","all","p1","3");
pageMethod.call(pageDiv1);

var pageDiv2=new jsPage("list2","all","p2","5");
pageMethod.call(pageDiv2);
})//$

function pageMethod(){
    var obj=this;
    obj.resetTotal(); 
obj.reloadpage("1",obj.list_class);
obj.page(); //生成页码
ready2go.call(obj);
}

function ready2go(){
    var obj=this;
    $("#"+obj.page_obj_id+" a").live("click",function(){ //点击页码的时候跳到相应页  
    obj.target_p=parseInt($(this).attr("p"));
    gotopage.call(obj,obj.target_p);
})
}

function showClass(list,x,pDiv,pSize){  
    var pObj=new jsPage(list,x,pDiv,pSize);
pageMethod.call(pObj);
}

function jsPage(list_id,list_class,page_obj_id,pagesize){
    // list_id 结果集UL的id
    // list_class 要显示的类别
    // page_id 存放页码的id
// pagesize 每页显示多少条
// QQ群号: 29032448
    this.list_obj_id=list_id;
    this.list_Obj=$("#"+list_id);
    this.li=$("#"+list_id+" li");
    this.li.hide();
    this.page_obj_id=page_obj_id;
    this.page_obj=$("#"+page_obj_id); //存放页码的div
    this.list_class=list_class; // 类别     
    if(list_class=="all"){
        this.results=this.li.length; // 总记录数等于所有记录
}else{
   this.results=$("#"+list_id+" li."+list_class).length; // 总记录数等于指定类别的li数 

  
    this.totalpage; // 总页数
    this.pagesize=pagesize; //每页记录数
    this.cpage=1; //当前页,默认显示第一页
    this.count;
    this.target_p;
    this.curcount;
    this.outstr= ""; // 输出页码html     
}//jsPage

function gotopage(target){    
    this.cpage = target;        //把页面计数定位到第几页
    this.page();
    this.reloadpage(target,this.list_class);  
}

jsPage.prototype.reloadpage=function(p,resultType){
this.li.hide();
for(var i=this.pagesize*p-this.pagesize;i<this.pagesize*p;i++){
   if(resultType=="all"){
    this.li.eq(i).show();
   }else{
    $("#"+this.list_obj_id+" li."+resultType).eq(i).show();
   }
}
}
jsPage.prototype.resetTotal=function(){
if(this.results==0){
   this.totalpage=0;
   this.cpage=0;
}else if(this.results<=this.pagesize){
   this.totalpage=1;
}else if(parseInt(this.results/this.pagesize)==1){
   this.totalpage=2;
}else if(parseInt(this.results/this.pagesize)>1 && this.results%this.pagesize==0){
   this.totalpage=this.results/this.pagesize;
}else{
   this.totalpage=parseInt(this.results/this.pagesize)+1;
}
}//resetTotal()

jsPage.prototype.page=function(){
    if(this.totalpage<=10){        //总页数小于十页   页码以十页为单位
        for (this.count=1;this.count<=this.totalpage;this.count++) {  
       if(this.count!=this.cpage) {
                    this.outstr = this.outstr + "<a href='javascript:void(0)' p='"+this.count+"' >"+this.count+"</a>";
            }else{
                this.outstr = this.outstr + "<span class='current' >"+this.count+"</span>";
            }
        }
    }
    if(this.totalpage>10){        //总页数大于十页
        if(parseInt((this.cpage-1)/10) == 0) {          
            for (this.count=1;this.count<=10;this.count++) {  
    if(this.count!=this.cpage) {
                    this.outstr = this.outstr + "<a href='javascript:void(0)' p='"+this.count+"' >"+this.count+"</a>";
                }else{
                    this.outstr = this.outstr + "<span class='current'>"+this.count+"</span>";
                }
            }
            this.outstr = this.outstr + "<a href='javascript:void(0)' p='"+this.count+"' >&raquo;</a>";
        }else if(parseInt((this.cpage-1)/10) == parseInt(this.totalpage/10)){  
            this.outstr = this.outstr + "<a href='javascript:void(0)' p='"+(parseInt((this.cpage-1)/10)*10)+"' >&laquo;<\/a>";
            for (this.count=parseInt(this.totalpage/10)*10+1;this.count<=this.totalpage;this.count++)   {
    if(this.count!=this.cpage) {
                    this.outstr = this.outstr + "<a href='javascript:void(0)' p='"+this.count+"' >"+this.count+"</a>";
                }else{
                    this.outstr = this.outstr + "<span class='current'>"+this.count+"</span>";
                }
            }
        } else { 
            var lastP;
            this.outstr = this.outstr + "<a href='javascript:void(0)' p='"+(parseInt((this.cpage-1)/10)*10)+"' >&laquo;<\/a>";
            for (this.count=parseInt((this.cpage-1)/10)*10+1;this.count<=parseInt((this.cpage-1)/10)*10+10;this.count++){      
                if(this.count!=this.cpage) {
                    this.outstr = this.outstr + "<a href='javascript:void(0)' p='"+this.count+"' >"+this.count+"</a>";
                }else{
                    this.outstr = this.outstr + "<span class='current'>"+this.count+"</span>";
                }
                if(this.count==this.totalpage){
                    lastP="";
                }else{
                    lastP="<a href='javascript:void(0)' p='"+(this.count+1)+"' >&raquo;</a>";
                }
            }
            this.outstr = this.outstr + lastP;
        }
    }  
    document.getElementById(this.page_obj_id).innerHTML = "<div><span id='info'>共"+this.totalpage+"页 第"+this.cpage+"页<\/span>" + this.outstr + "<\/div>";
    this.outstr = "";
}
</script>


</head>

<body>
<a onclick="showClass('list','mm','p1','3')" href="#">美女</a>
<a onclick="showClass('list','gg','p1','3')" href="#">帅哥</a>
<a onclick="showClass('list','all','p1','3')" href="#">全部</a><br />

<ul id="list" >
    <li class="mm">美女A</li>
    <li class="gg">帅哥A</li>
    <li class="mm">美女B</li>
    <li class="gg">帅哥B</li>
    <li class="mm">美女C</li>
    <li class="gg">帅哥C</li>
    <li class="mm">美女D</li>
    <li class="gg">帅哥D</li>
    <li class="mm">美女E</li>
    <li class="gg">帅哥E</li>
    <li class="mm">美女F</li>
    <li class="gg">帅哥F</li>
    <li class="mm">美女G</li>
    <li class="gg">帅哥G</li>
    <li class="mm">美女H</li>
    <li class="gg">帅哥H</li>
    <li class="mm">美女A</li>
    <li class="gg">帅哥A</li>
    <li class="mm">美女B</li>
    <li class="gg">帅哥B</li>
    <li class="mm">美女C</li>
    <li class="gg">帅哥C</li>
    <li class="mm">美女D</li>
    <li class="gg">帅哥D</li>
    <li class="mm">美女E</li>
    <li class="gg">帅哥E</li>
    <li class="mm">美女F</li>
    <li class="gg">帅哥F</li>
    <li class="mm">美女G</li>
    <li class="gg">帅哥G</li>
    <li class="mm">美女H</li>
    <li class="gg">帅哥H</li>
   <li class="mm">美女A</li>
    <li class="gg">帅哥A</li>
    <li class="mm">美女B</li>
    <li class="gg">帅哥B</li>
    <li class="mm">美女C</li>
    <li class="gg">帅哥C</li>
    <li class="mm">美女D</li>
    <li class="gg">帅哥D</li>
    <li class="mm">美女E</li>
    <li class="gg">帅哥E</li>
    <li class="mm">美女F</li>
    <li class="gg">帅哥F</li>
    <li class="mm">美女G</li>
    <li class="gg">帅哥G</li>
    <li class="mm">美女H</li>
    <li class="gg">帅哥H</li>
    <li class="mm">美女A</li>
    <li class="gg">帅哥A</li>
    <li class="mm">美女B</li>
    <li class="gg">帅哥B</li>
    <li class="mm">美女C</li>
    <li class="gg">帅哥C</li>
    <li class="mm">美女D</li>
    <li class="gg">帅哥D</li>
    <li class="mm">美女E</li>
    <li class="gg">帅哥E</li>
    <li class="mm">美女F</li>
    <li class="gg">帅哥F</li>
    <li class="gg">帅哥G</li>
    <li class="gg">帅哥H</li>
    <li class="gg">帅哥G</li>
</ul>
<br />

<div id="p1"></div>
<br />
<br />
<a onclick="showClass('list2','music','p2','5')" href="#">音乐</a>
<a onclick="showClass('list2','movie','p2','5')" href="#">电影</a>
<a onclick="showClass('list2','all','p2','5')" href="#">全部</a><br />
<ul id="list2" >
    <li class="music">音乐A</li>
    <li class="movie">电影A</li>
    <li class="music">音乐B</li>
    <li class="movie">电影B</li>
    <li class="music">音乐C</li>
    <li class="movie">电影C</li>
    <li class="music">音乐D</li>
    <li class="movie">电影D</li>
    <li class="music">音乐E</li>
    <li class="movie">电影E</li>
 <li class="music">音乐F</li>
    <li class="movie">电影F</li>
</ul>
<br />

<div id="p2"></div>

</body>
</html>

目录
相关文章
|
2月前
|
移动开发 JavaScript 前端开发
分享48个JS分页代码特效,总有一款适合您
分享48个JS分页代码特效,总有一款适合您
37 0
|
3月前
|
JavaScript 前端开发
|
1月前
egg.js 24.13sequelize模型-字段限制排序分页
egg.js 24.13sequelize模型-字段限制排序分页
24 1
egg.js 24.13sequelize模型-字段限制排序分页
|
7月前
|
JavaScript
jQuery fullpage.js 全屏分页以及动画使用
jQuery fullpage.js 全屏分页以及动画使用
39 0
|
8月前
|
前端开发 CDN
Nuxt.js 分页获取数据(及更新子组件数据、不刷新页面,异步请求追加数据)
Nuxt.js 分页获取数据(及更新子组件数据、不刷新页面,异步请求追加数据)
328 0
|
5月前
|
JavaScript 前端开发
【Vue.js】使用ElementUI搭建动态树&数据表格与分页
【Vue.js】使用ElementUI搭建动态树&数据表格与分页
65 0
|
3月前
|
存储 JavaScript
js如何实现分页功能
js如何实现分页功能
12 0
|
3月前
|
JavaScript 前端开发
简单用JS实现分页功能的制作
简单用JS实现分页功能的制作
|
9月前
|
JavaScript 前端开发
js分页(优化)
js分页(优化)
30 0
|
9月前
|
JSON JavaScript 数据格式