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 相关文章推荐
mysql建立外键
Nov 25 PHP
PHP 遍历文件实现代码
May 04 PHP
PHP二维数组的去重问题解析
Jul 17 PHP
PHP以及MYSQL日期比较方法
Nov 29 PHP
php数组生成html下拉列表的方法
Jul 20 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
深入探究PHP的多进程编程方法
Aug 18 PHP
百万级别知乎用户数据抓取与分析之PHP开发
Sep 28 PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 PHP
PHP框架Laravel插件Pagination实现自定义分页
Apr 22 PHP
CodeIgniter框架数据库基本操作示例
May 24 PHP
PHP实现百度人脸识别
May 06 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设计模式中工厂模式详细介绍
2013/05/15 PHP
解析php中curl_multi的应用
2013/07/17 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
php使用fputcsv()函数csv文件读写数据的方法
2015/01/06 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
js 幻灯片的实现
2011/12/06 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
python采用getopt解析命令行输入参数实例
2014/09/30 Python
Python数据类型学习笔记
2016/01/13 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
python适合做数据挖掘吗
2020/06/16 Python
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
车辆维修工自我评价怎么写
2013/09/20 职场文书
商场拾金不昧表扬信
2014/01/13 职场文书
劲霸男装广告词改编版
2014/03/21 职场文书
小学生一分钟演讲稿
2014/08/26 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
学校端午节活动总结
2015/02/11 职场文书
python cv2图像质量压缩的算法示例
2021/06/04 Python
总结Python连接CS2000的详细步骤
2021/06/23 Python
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记
JS class语法糖的深入剖析
2022/07/07 Javascript