PHP+jQuery實現Ajax分頁效果:jPaginate插件的應用

jPaginate是基於jQuery的動感滾動分頁插件,它的表現形式是像分頁的按鈕同樣,很是有意思的是這些按鈕卻能夠滾動,能夠經過單擊或鼠標滑向點兩側的小箭頭來控制按鈕的先後滾動。javascript

調用jPaginate插件的方法很簡單:php

 $(elementID).paginate()

屬性設置

可喜的是,jPaginate提供了不少屬性配置,您能夠輕易的定製想要的分頁效果。css

設置方法如:html

 $(elementID).paginate({
      count:80,
      start:1,
      ...
 })

count: 數字,總記錄數。java

start: 數字,開始顯示的頁數,如:3表示從第3頁開始。jquery

display: 數字,分頁條顯示的頁數,如:5表示一次顯示5個頁碼數。數據庫

border: 是否顯示頁碼的邊框。(true/false)異步

border_color: 設置邊框的顏色,如"#d3d3d3"。ide

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,該頁面用來分頁展現一個博客文章列表。

一、引用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使用文檔。

二、引用CSS:

jPaginate官方提供了導航條樣式,你也能夠本身寫個很是酷的樣式。

<link rel="stylesheet" type="text/css" href="style.css" />

三、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>";

四、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>"; //輸出文章列表
   }
}
相關文章
相關標籤/搜索