您的位置:首页 > Web前端 > JavaScript

JavaScript实现的分页(样式2)

2007-10-02 13:28 267 查看
自己写的一个JavaScript的分页函数,这个是第二个样式。


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


<strong>分页:</strong><br /><br />










<script language="javascript">...




/**//*


 * 函数:Pagination(RCount,PageSize,CurPage,ShowPage,QString)


 * 说明:计算分页信息


 * 作者:lg970044


 * 输入:


 * @参数 {Number}RCount        总的记录个数


 * @参数 {Number}PageSize    页面的最大记录个数


 * @参数 {Number}CurPage        当前页数


 * @参数 {Number}ShowPage    要显示的页数


 * @参数 {String}QString        链接的查询字符串


 * #参数 {String}RUnit        记录的单位


 * 输出:


 * @参数 {String}PaginationString    包含分页信息的字符串


 */




function Pagination(RCount,PageSize,CurPage,ShowPage,QString)...{


    //默认参数RUnit(记录的单位)设为 "个"


    var RUnit=arguments[5]?arguments[5]:"个";




    var PaginationString="";


    var PCount;


    


    //取得当前页数




    if (CurPage=="" || CurPage==0 || CurPage==null)...{CurPage=1;}


    //对查询字符串进行补充




    if (QString=="?")...{QString="";}




    if (QString.indexOf("?")==-1)...{QString+="?";}else...{QString+="&";}


    


    RCount=parseInt(RCount);


    PageSize=parseInt(PageSize);


    CurPage=parseInt(CurPage);


    ShowPage=parseInt(ShowPage);


    


    //计算出总页数




    if (RCount%PageSize==0)...{


        PCount=parseInt(RCount/PageSize);




    }else...{


        PCount=parseInt(RCount/PageSize)+1


    }


    //当传递的当前页数比总页数大时,使当前页数等于总页数




    if (CurPage>PCount)...{CurPage=PCount;}






    //组成分页信息的字符串


    var p;


    if ((CurPage-1)%ShowPage==0) 




    ...{


        p=(CurPage-1)/ShowPage


    }


    else




    ...{


        p=(((CurPage-1)-(CurPage-1)%ShowPage)/ShowPage)


    }


    PaginationString+="共有<strong>"+RCount+"</strong>个  共<strong>"+PCount+"</strong>页  "


    if (CurPage>1)




    ...{            


        PaginationString+="<a href=""+QString+"page=1" title="第一页"><img src="images/Pagination_First.gif" border="0"></a>";


    }


    if (p*ShowPage > 0)




    ...{


        PaginationString +=" <a href=""+QString+"page="+p*ShowPage+"" title="上"+ShowPage+"页"><img src="images/Pagination_Previous.gif" border="0"></a>";


    }


    if (PCount>0)




    ...{


        for (var i=p*ShowPage+1;i<p*ShowPage+ShowPage+1;i++)




        ...{


            if (i==CurPage)




            ...{


                PaginationString+=" <B><font color="red">"+i+"</font></B> ";


            }


            else




            ...{


                PaginationString+=" <a href=""+QString+"page="+i+"">"+i+"</a> ";


            }


            if (i==PCount) break;


        }


    }


    if (i<PCount)




    ...{


        PaginationString+=" <a href=""+QString+"page="+i+"" title="下"+ShowPage+"页"><img src="images/Pagination_Next.gif" border="0"></a>";


    }


    if (CurPage<PCount)




    ...{


        PaginationString+=" <a href=""+QString+"page="+PCount+"" title="尾页"><img src="images/Pagination_Last.gif" border="0"></a>";


    }


    PaginationString+="  <input type=text size=3 value=""+CurPage+"" onkeydown="if(event.keyCode==13){window.location='"+QString+"page='+this.value;return false;}">";






    return PaginationString;


}


</script>












示例1:




<script language = "JavaScript">...


document.write(Pagination(1365,20,25,10,""));


</script>


<br /><br />




示例2:




<script language = "JavaScript">...


document.write(Pagination(1105,20,1,10,"?id=110","篇"));


</script>


<br /><br />

附:
images/Pagination_First.gif           


images/Pagination_Last.gif           


images/Pagination_Next.gif           


images/Pagination_Previous.gif       


详细内容见:http://www.qlolo.com/?m=pc&a=page_fh_diary&target_c_diary_id=878
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息