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


Posted in PHP onOctober 09, 2015

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

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

调用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插件的应用,希望对大家的学习有所帮助。

PHP 相关文章推荐
基于php实现长连接的方法与注意事项的问题
May 10 PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 PHP
php中base64_decode与base64_encode加密解密函数实例
Nov 24 PHP
PHP Hash算法:Times33算法代码实例
May 13 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
php基础教程
Aug 26 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 PHP
PHP实现Session入库/存入redis的方法
May 04 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
Oct 08 #PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 #PHP
PHP抽奖算法程序代码分享
Oct 08 #PHP
php视频拍照上传头像功能实现代码分享
Oct 08 #PHP
php+ajax 实现输入读取数据库显示匹配信息
Oct 08 #PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
Oct 08 #PHP
php 问卷调查结果统计
Oct 08 #PHP
You might like
PHP编程最快明白(第一讲 软件环境和准备工作)
2010/10/25 PHP
PHP中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
MySQL连接数超过限制的解决方法
2011/07/17 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
2014/04/24 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
flash javascript之间的通讯方法小结
2008/12/20 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
python 文件和路径操作函数小结
2009/11/23 Python
python list中append()与extend()用法分享
2013/03/24 Python
详解Python装饰器
2019/03/25 Python
python二维键值数组生成转json的例子
2019/12/06 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
python 录制系统声音的示例
2020/12/21 Python
python爬取youtube视频的示例代码
2021/03/03 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
大学开学计划书
2014/04/30 职场文书
田径运动会通讯稿
2015/07/18 职场文书
实验室安全管理制度
2015/08/05 职场文书