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 相关文章推荐
substr()函数中文版
Oct 09 PHP
PHP Memcached应用实现代码
Feb 08 PHP
php checkdate、getdate等日期时间函数操作详解
Mar 11 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
Jan 31 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 PHP
深入分析PHP设计模式
Jun 15 PHP
Memcached介绍及php-memcache扩展安装
Apr 01 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 socket方式提交的post详解
2008/07/19 PHP
php数字转汉字代码(算法)
2011/10/08 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
2013/11/07 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
php分割合并两个字符串的函数实例
2015/06/19 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
ext读取两种结构的xml的代码
2008/11/05 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
Python中使用PDB库调试程序
2015/04/05 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
python列表使用实现名字管理系统
2019/01/30 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
个人担保书格式范文
2014/05/12 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
酒店员工培训方案
2014/06/02 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
小学中等生评语
2014/12/29 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
2015年中秋寄语
2015/07/31 职场文书
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL