• jQuery伪分页效果


    如图,我们首先分析在一个页面存放4条内容,其余的超出隐藏(因为这里没有后台数据,所以我们把内容‘写死’),然后就是下面两个按钮(这里我们不用button,因为button有自带的提交功能),然后我们可以把首页写成1,总页数使用JQ实现,为此,我们先把页面跟样式写好

    <div class="main">
            <div class="item">
                <ul class="clear">
                    <li>1</li>
                    <li>2</li>
                    <li>3</li>
                    <li>4</li>
                    <li>5</li>
                    <li>6</li>
                    <li>7</li>
                    <li>8</li>
                    <li>9</li>
                    <li>10</li>
                    <li>11</li>
                    <li>12</li>
                    <li>13</li>
                    <li>14</li>
                    <li>15</li>
                    <li>16</li>
                    <li>17</li>
                    <li>18</li>
                    <li>19</li>
                    <li>20</li>
                    <li>21</li>
                    <li>22</li>
                    <li>23</li>
                    <li>24</li>
                    <li>25</li>
                    <li>26</li>
                    <li>27</li>
                    <li>28</li>
                </ul>
            </div>
            <div class="page_btn clear">
                <span class="page_box">
                    <a class="prev">上一页</a><span class="num"><span class="current_page">1</span><span style="padding:0 3px;">/</span><span class="total"></span></span><a class="next">下一页</a>
                </span>
            </div>
        </div>
     .main{
            width:800px;
            zoom:1;
            margin:0 auto;
            }
        .item{
            width:800px;
            overflow:hidden;
            }
        ul{
            padding:0;
            width:860px;
            zoom:1;
            }
        .clear{
            zoom:1;
            }
        .clear:after{
            content:"";
            display:block;
            height:0;
            clear:both;
            visibility:hidden;
            }
        ul li{
            list-style-type:none;
            float:left;
            background:#F69;
            font-size:60px;
            text-shadow:1px 1px 3px #555;
            width:380px;
            height:200px;
            margin:10px 40px 10px 0;
            line-height:200px;
            text-align:center;
            color:#fff;
            }
        .page_btn{
            padding-top:20px;
            }
        .page_btn a{
            cursor:pointer;
            padding:5px;
            border:solid 1px #ccc;
            font-size:12px;
            }
        .page_box{
            float:right;
            }
        .num{
            padding:0 10px;
            }

    这样我们写出来的效果应该是这样,然后我们在去写它的逻辑

    $(document).ready(function(){
                $("ul li:gt(3)").hide();//初始化,前面4条数据显示,其他的数据隐藏。
                var total_q=$("ul li").index()+1;//总数据
                var current_page=4;//每页显示的数据
                var current_num=1;//当前页数
                var total_page= Math.round(total_q/current_page);//总页数  
                var next=$(".next");//下一页
                var prev=$(".prev");//上一页
                $(".total").text(total_page);//显示总页数
                $(".current_page").text(current_num);//当前的页数

    我们可以先规定一页只显示4条数据,其余的隐藏,让后在把当前页数跟总页数显示出来,最后,我们再去实现“上一页”“下一页”,在上一页中,我们判断在第一页的时候就停止,而“下一页”,我们判断在最后一页时就停止,所以

    $('.next').on('click',function(){
             if(current_num==7){
                 return false;
             }else{
                 $('.current_page').text(++current_num);
                 $.each($('ul li'), function(index) {
                     var start = current_page * (current_num - 1);
                     var end = current_page * current_num;
                     if(index >= start && index<end){
                         $(this).show()
                     }else{
                         $(this).hide();
                     }
                 });
             }
         });
         $('.prev').on('click',function(){
             if(current_num == 1){
                 return false;
             }else{
                 $('.current_page').text(--current_num);
                 $.each($('ul li'), function(index) {
                     var start = current_page * (current_num+1);
                     var end = current_page * current_num;
                     if(index <= start && index > end){
                         $(this).show()
                     }else{
                         $(this).hide();
                     }
                 });
             }
         })

    其实,页数跟内容不是固定的,在项目中,这些数据都会从后台反馈给你的

  • 相关阅读:
    PHP时间戳常用转换
    redis基本指令
    P2501 [HAOI2006]数字序列
    P2679 子串
    P2759 奇怪的函数
    P6823 「EZEC-4」zrmpaul Loves Array
    P6631 [ZJOI2020] 序列
    P2887 [USACO07NOV]Sunscreen G
    P3287 [SCOI2014]方伯伯的玉米田
    拓展欧几里得算法揭秘
  • 原文地址:https://www.cnblogs.com/dzlx/p/10690101.html
Copyright © 2020-2023  润新知