jquery分頁效果

 [html] 
昨天在騰訊視頻裡看中國好聲音,看到下面的視頻列表,有個分頁,頓時就去探測瞭下,看看是怎麼實現的。我開始以為是ajax來分頁的,誰知道是數據全部讀 取出來的,隻是分條件顯示數據而已,所以這個效果我就想要實現,由於昨晚時間不夠,早點睡瞭,今天抽空還是把它實現瞭,下面我就分享下代碼,順便截個騰訊 的效果加深大傢的印象。  
 原文地址:<a target="_blank" href="https://www.dayday28.com/post/2012-09-11/40039431075" rel="nofollow">https://www.dayday28.com/post/2012-09-11/40039431075</a>  
 Demo演示地址:<a target="_blank" href="https://www.osctools.net/jsbin/jemosxvn/1/edit#preview" rel="nofollow">https://www.osctools.net/jsbin/jemosxvn/1/edit#preview</a> 
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="https://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>jquery偽分頁效果</title> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(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);//當前的頁數 
              
            //下一頁 
            $(".next").click(function(){ 
                if(current_num==7){ 
                        return false;//如果大於總頁數就禁用下一頁 
                    } 
                    else{ 
                        $(".current_page").text(++current_num);//點擊下一頁的時候當前頁數的值就加1 
                        $.each($('ul li'),function(index,item){ 
                            var start = current_page* (current_num-1);//起始范圍 
                            var end = current_page * current_num;//結束范圍 
                            if(index >= start && index < end){//如果索引值是在start和end之間的元素就顯示,否則就隱 
                                $(this).show(); 
                            }else { 
                                $(this).hide();  
                            } 
                        }); 
                    } 
            }); 
            //上一頁方法 
            $(".prev").click(function(){ 
                    if(current_num==1){ 
                        return false; 
                    }else{ 
                        $(".current_page").text(–current_num); 
                        $.each($('ul li'),function(index,item){ 
                            var start = current_page* (current_num-1);//起始范圍 
                            var end = current_page * current_num;//結束范圍 
                            if(index >= start && index < end){//如果索引值是在start和end之間的元素就顯示,否則就隱藏 
                                $(this).show(); 
                            }else { 
                                $(this).hide();  
                            } 
                        });      
                    } 
                      
                }) 
    }) 
</script> 
<style type="text/css"> 
    .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;} 
</style> 
</head> 
  
<body> 
    <p class="main"> 
        <p 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> 
        </p> 
        <p 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> 
        </p> 
    </p><!–main–> 
</body> 
</html> 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *