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面向对象全攻略 (八)重载新的方法
Sep 30 PHP
Php 构造函数construct的前下划线是双的_
Dec 08 PHP
PHP中uploaded_files函数使用方法详解
Mar 09 PHP
php中用加号与用array_merge合并数组的区别深入分析
Jun 03 PHP
PHP实现图片旋转效果实例代码
Oct 01 PHP
php中in_array函数用法探究
Nov 25 PHP
PHP实现全角字符转为半角方法汇总
Jul 09 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
PHP命令空间namespace及use的用法小结
Nov 27 PHP
thinkphp5引入公共部分header、footer的方法详解
Sep 14 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 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&amp;MYSQL留言板源码
2020/07/19 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
php打造智能化的柱状图程序,用于报表等
2015/06/19 PHP
js 数值项目的格式化函数代码
2010/05/14 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
js实现显示手机号码效果
2017/03/09 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
python实现求特征选择的信息增益
2018/12/18 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
set在python里的含义和用法
2019/06/24 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
医院护理人员的自我评价分享
2013/10/04 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python