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 相关文章推荐
信用卡效验程序
Oct 09 PHP
黑夜路人出的几道php笔试题
Aug 04 PHP
php中的一些数组排序方法分享
Jul 20 PHP
Apache下禁止php文件被直接访问的解决方案
Apr 25 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
php连接Access数据库错误及解决方法
Jun 20 PHP
php 判断服务器操作系统的类型
Feb 17 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 PHP
Codeigniter发送邮件的方法
Mar 19 PHP
PHP函数import_request_variables()用法分析
Apr 02 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
May 12 PHP
PHP 爬取网页的主要方法
Jul 13 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
我的论坛源代码(十)
2006/10/09 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
WordPress中is_singular()函数简介
2015/02/05 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
大家须知简单的php性能优化注意点
2016/01/04 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
非常好的js代码
2006/06/27 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
jQuery中animate动画第二次点击事件没反应
2015/05/07 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
浅谈Node.js 沙箱环境
2018/05/15 Javascript
100行代码实现一个vue分页组功能
2018/11/06 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
2020/02/06 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
Python中使用不同编码读写txt文件详解
2015/05/28 Python
深入理解Python中各种方法的运作原理
2015/06/15 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
python实现超级马里奥
2020/03/18 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
解释i节点在文件系统中的作用
2013/11/26 面试题
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
一岗双责责任书
2014/04/15 职场文书
新手上路标语
2014/06/20 职场文书
离婚协议书的范本
2015/01/27 职场文书
股权投资协议书
2016/03/23 职场文书
Python中Matplotlib的点、线形状、颜色以及绘制散点图
2022/04/07 Python
详解OpenCV曝光融合
2022/04/29 Python