[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>