写个js 分页玩玩(原创)

本文介绍了一个使用jQuery实现的分页功能,通过调整页面大小和当前页数,展示如何动态显示和隐藏列表项,同时更新页面导航。代码中包含了获取页面信息、更新页面显示等关键函数。
<ul id="page">
    <li class="pagetest">1</li>
    <li class="pagetest">2</li>
    <li class="pagetest">3</li>
    <li class="pagetest">4</li>
    <li class="pagetest">5</li>
    <li class="pagetest">6</li>
    <li class="pagetest">7</li>
    <li class="pagetest">8</li>
    <li class="pagetest">9</li>
    <li class="pagetest">10</li>
    <li class="pagetest">11</li>
    <li class="pagetest">12</li>
</ul>
<div id="pageDom"></div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<div class="dibu">    
    <script>    
    var pageInfo={PageSize:null,TotalItemCount:null,PageNumber:null,PageCount:null,HasPreviousPage:null,HasNextPage:null,frontPageSize:5,backPageSize:4,pageListDomID:null,pageNumberDomID:null};
    pageInfo.pageListDomID="page";
    pageInfo.pageNumberDomID="pageDom";
    pageInfo.PageSize=2;
    
    GetPageInfo(2);    
    
    function GetPageInfo(pageNumber)
    {    
        $("#"+pageInfo.pageListDomID).children().hide().slice((pageNumber-1)*pageInfo.PageSize,pageNumber*pageInfo.PageSize).show();        
        
        pageInfo.TotalItemCount=$("#"+pageInfo.pageListDomID).children().length;
        pageInfo.PageNumber=pageNumber;
        pageInfo.PageCount=Math.ceil(pageInfo.TotalItemCount/pageInfo.PageSize);
        if(pageInfo.PageNumber>1)
        {
            pageInfo.HasPreviousPage=true;
        }else
        {
            pageInfo.HasPreviousPage=false;
        }    
        if(pageInfo.PageNumber<pageInfo.PageCount)
        {
            pageInfo.HasNextPage=true;
        }else
        {
            pageInfo.HasNextPage=false;
        }
        
        updatePage(pageInfo.pageNumberDomID);
    }

    function updatePage(id)
    {        
        $("#"+id).empty();        
        if (pageInfo.HasPreviousPage)
        {
            $("#"+id).append('<span class="hag"><a href="javascript:GetPageInfo(pageInfo.PageNumber - 1);">上一页</a></span>');              
        }
        for (var i = pageInfo.PageNumber - pageInfo.frontPageSize; i <= pageInfo.PageNumber + pageInfo.backPageSize; i++)
        {
            if (i >= 1 && i <= pageInfo.PageCount)
            {
                if (pageInfo.PageNumber == i)
                {
                    $("#"+id).append('<span class="hag"><a class="on">'+i+'</a></span>');
                }
                else
                {
                    $("#"+id).append('<span class="hag"><a href="javascript:GetPageInfo('+i+');">'+i+'</a></span>');                          
                }
            }
        }
        if (pageInfo.HasNextPage)
        {
            $("#"+id).append('<span class="hag"><a href="javascript:GetPageInfo(pageInfo.PageNumber +1);">下一页</a></span>');
        }
    }    
    </script>        
</div>
  

 

转载于:https://www.cnblogs.com/zhudongchang/p/3739543.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值