首页 > 开发 > PHP > 正文

PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用

2024-05-04 23:39:27
字体:
来源:转载
供稿:网友

这篇文章主要介绍了PHP+jQuery+Ajax实现分页效果,以及jPaginate插件的应用

jPaginate是基于jQuery的动感滚动分页插件,它的表现形式是像分页的按钮一样,非常有意思的是这些按钮却可以滚动,可以通过单击或鼠标滑向点两侧的小箭头来控制按钮的前后滚动。

PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用

调用jPaginate插件的方法很简单:

  1. $(elementID).paginate() 

属性设置

可喜的是,jPaginate提供了很多属性配置,您可以轻易的定制想要的分页效果。

设置方法如:

 

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

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:

 

 
  1. <script type="text/javascript" src="js/jquery.js"></script>  
  2. <script type="text/javascript" src="js/jquery.paginate.js"></script>  
  3. <script type="text/javascript">  
  4. $(function(){  
  5. $("#demo").paginate({  
  6. count : <?php echo $page;?>,  
  7. start : 1,  
  8. display : 5,  
  9. border : true,  
  10. border_color : '#BEF8B8',  
  11. text_color : '#79B5E3',  
  12. background_color : '#E3F2E1',  
  13. border_hover_color : '#68BA64',  
  14. text_hover_color : '#2573AF',  
  15. background_hover_color : '#CAE6C6',  
  16. images : false,  
  17. mouse : 'press',  
  18. onChange : function(page){  
  19. $("#pagetxt").load("article.php?id="+page);  
  20. }  
  21. });  
  22. });  
  23. </script> 

注意,关于插件的属性设置,上文已详细介绍,属性count通过PHP计算出总页数$page,该参数由article.php得出。还要说明的是属性onChange:当点击页码时,调用函数,该函数实现了异步提交页码参数给article.php来处理,article.php通过读取数据库里的表书籍,并把得到的文章列表结果而返回页面,这就是Ajax。当然我这里只是做简单的演示,如果需要更多异步效果,可以参照jQuery使用文档。

2、引用CSS:

jPaginate官方提供了导航条样式,你也可以自己写个非常酷的样式。

 

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

3、index.php初始页面。

必须要显示一个初始的文章列表,代码如下

 

 
  1. <div class="demo">  
  2. <h4>Demo 3: Php+jQuery实现AJAX 分页效果</h4>  
  3. <div id="pagetxt">  
  4.  
  5. </div>  
  6. <div id="demo"></div>  
  7. </div>  

在ID为pagetxt的DIV内加入PHP代码:

 

 
  1. $query=$db->select("article","id,title,pubdate","cata=1 order by id desc limit 0,5");  
  2. while($row=$db->fetch_array($query)){  
  3. $pubdate=date("Y-m-d",$row[pubdate]);  
  4. echo "<p><span>$pubdate</span><a href='view-blog-".$row[id].".html' target='_blank'>  
  5. ".$row[title]."</a></p>";  

4、article.php代码。

该代码用来获取index.php提交过来的页码,查询数据库,并将输出结果。代码如下:

 

 
  1. include_once("common.php"); //连接数据库专用文件  
  2.  
  3. $id=$_GET['id']; //获取页码  
  4. $result = $db->select("article""id""cata=1");  
  5. $total = $db->db_num_rows($result); //总记录数  
  6.  
  7. $pagesize=5; //每页显示数  
  8. $page=ceil($total/$pagesize); //总页数  
  9. if(isset($id)){  
  10. $startPage=($id-1)*$pagesize;  
  11. $query=$db->select("article","id,title,pubdate","cata=1 order by id desc limit $startPage,  
  12. $pagesize");  
  13. while($row=$db->fetch_array($query)){  
  14. $pubdate=date("Y-m-d",$row[pubdate]);  
  15. echo "<p><span>$pubdate</span><a href='view-blog-".$row[id].".html' target='_blank'>  
  16. ".$row[title]."</a></p>"; //输出文章列表  
  17. }  

以上介绍了PHP+jQuery实现Ajax分页效果中jPaginate插件的应用,希望对大家的学习有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表