JavaScript实现的分页(样式2)

来源:互联网 发布:运用思维导图学编程 编辑:程序博客网 时间:2024/05/01 02:12

自己写的一个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>个&nbsp;&nbsp;共<strong>"+PCount+"</strong>页&nbsp;&nbsp;"
    
if (CurPage>1)
    
{            
        PaginationString
+="<a href=""+QString+"page=1" title="第一页"><img src="images/Pagination_First.gif" border="0"></a>";
    }

    
if (p*ShowPage > 0)
    
{
        PaginationString 
+="&nbsp;<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
+="&nbsp;<B><font color="red">"+i+"</font></B>&nbsp;";
            }

            
else
            
{
                PaginationString
+="&nbsp;<a href=""+QString+"page="+i+"">"+i+"</a>&nbsp;";
            }

            
if (i==PCount) break;
        }

    }

    
if (i<PCount)
    
{
        PaginationString
+="&nbsp;<a href=""+QString+"page="+i+"" title="下"+ShowPage+"页"><img src="images/Pagination_Next.gif" border="0"></a>";
    }

    
if (CurPage<PCount)
    
{
        PaginationString
+="&nbsp;<a href=""+QString+"page="+PCount+"" title="尾页"><img src="images/Pagination_Last.gif" border="0"></a>";
    }

    PaginationString
+="&nbsp;&nbsp;<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

原创粉丝点击