jPaginate是基於jQuery的動感滾動分頁插件,它的表現形式是像分頁的按鈕一樣,非常有意思的是這些按鈕卻可以滾動,可以通過單擊或鼠標滑向點兩側的小箭頭來控制按鈕的前後滾動。
調用jPaginate插件的方法很簡單:
$(elementID).paginate()
屬性設置
可喜的是,jPaginate提供了很多屬性配置,您可以輕易的定制想要的分頁效果。
設置方法如:
$(elementID).paginate({ count:80, start:1, ... })
count: 數字,總記錄數。
start: 數字,開始顯示的頁數,如:3表示從第3頁開始。
display: 數字,分頁條顯示的頁數,如:5表示一次顯示5個頁碼數。
border: 是否顯示頁碼的邊框。(true/false)
border_color: 設置邊框的顏色,如"#d3d3d3"。
text_color: 設置頁碼的顏色,如"#68ba64"。
background_color: 設置頁碼的背景色,如"#f7f7f7"。
border_hover_color: 設置鼠標滑向頁碼時頁碼邊框的顏色。
text_hover_color: 設置鼠標滑向頁碼時頁碼的顏色。
background_hover_color: 設置鼠標滑向頁碼時頁碼背景的顏色。
images: 是否顯示頁碼導航箭頭(方向箭頭)(true/false)
mouse: 設置為'press'時,當鼠標滑向導航箭頭時,頁碼隨之滾動;設置為'slide'時,鼠標單擊一次導航箭頭頁碼滾動一次。
onChange: 當單擊頁碼時,回調函數.
實例應用:PHP+jQuery實現Ajax分頁效果
首先准備index.php,該頁面用來分頁展示一個博客文章列表。
1、引用JS:
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.paginate.js"></script> <script type="text/javascript"> $(function(){ $("#demo").paginate({ count : <?php echo $page;?>, start : 1, display : 5, border : true, border_color : '#BEF8B8', text_color : '#79B5E3', background_color : '#E3F2E1', border_hover_color : '#68BA64', text_hover_color : '#2573AF', background_hover_color : '#CAE6C6', images : false, mouse : 'press', onChange : function(page){ $("#pagetxt").load("article.php?id="+page); } }); }); </script>
注意,關於插件的屬性設置,上文已詳細介紹,屬性count通過PHP計算出總頁數$page,該參數由article.php得出。還要說明的是屬性onChange:當點擊頁碼時,調用函數,該函數實現了異步提交頁碼參數給article.php來處理,article.php通過讀取數據庫裡的表書籍,並把得到的文章列表結果而返回頁面,這就是Ajax。當然我這裡只是做簡單的演示,如果需要更多異步效果,可以參照jQuery使用文檔。
2、引用CSS:
jPaginate官方提供了導航條樣式,你也可以自己寫個非常酷的樣式。
<link rel="stylesheet" type="text/css" href="style.css" />
3、index.php初始頁面。
必須要顯示一個初始的文章列表,代碼如下
<div class="demo"> <h4>Demo 3: Php+jQuery實現AJAX 分頁效果</h4> <div id="pagetxt"> </div> <div id="demo"></div> </div>
在ID為pagetxt的DIV內加入PHP代碼:
$query=$db->select("article","id,title,pubdate","cata=1 order by id desc limit 0,5"); while($row=$db->fetch_array($query)){ $pubdate=date("Y-m-d",$row[pubdate]); echo "<p><span>$pubdate</span><a href='view-blog-".$row[id].".html' target='_blank'> ".$row[title]."</a></p>";
4、article.php代碼。
該代碼用來獲取index.php提交過來的頁碼,查詢數據庫,並將輸出結果。代碼如下:
include_once("common.php"); //連接數據庫專用文件 $id=$_GET['id']; //獲取頁碼 $result = $db->select("article", "id", "cata=1"); $total = $db->db_num_rows($result); //總記錄數 $pagesize=5; //每頁顯示數 $page=ceil($total/$pagesize); //總頁數 if(isset($id)){ $startPage=($id-1)*$pagesize; $query=$db->select("article","id,title,pubdate","cata=1 order by id desc limit $startPage, $pagesize"); while($row=$db->fetch_array($query)){ $pubdate=date("Y-m-d",$row[pubdate]); echo "<p><span>$pubdate</span><a href='view-blog-".$row[id].".html' target='_blank'> ".$row[title]."</a></p>"; //輸出文章列表 } }
以上介紹了PHP+jQuery實現Ajax分頁效果中jPaginate插件的應用,希望對大家的學習有所幫助。