php+jquery+html实现点击不刷新加载更多的实例代码


Posted in PHP onAugust 12, 2016

基本原理:页面载入时,jQuery向后台请求数据,PHP通过查询数据库将最新的几条记录显示在列表页,在列表页的底部有个“更多”链接,通过触发该链接,向服务端发送Ajax请求,后台PHP程序得到请求参数,并作出相应,获取数据库相应的记录并以JSON的形式返回给前台页面,前台页面jQuery解析JSON数据,并将数据追加到列表页。其实就是Ajax分页效果。

HTML

首先要引入jquery库和jquery.more.js插件,jquery.more.js已经将许多功能都封装好了,并提供了参数配置的功能。

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="jquery.more.js"></script>

xhtml结构如下:

<div id="more">   
<div class="single_item">      
<div class="element_head">        
<div class="date"></div>        
<div class="author"></div>       
</div>       
<div class="content"></div>   
</div>   
<a href="javascript:;" class="get_more">::点击加载更多内容::</a> </div>

值得一提的是,样式single_item,get_more是和jquery.more.js插件关联的,你也可以取另外的class名字,但是在配置的时候一定要将对应的class写上。

CSS

#more{margin:10px auto;width: 560px; border: 1px solid #999;}        
.single_item{padding: 20px; border-bottom: 1px dotted #d3d3d3;} 
.author{position: absolute; left: 0px; font-weight:bold; color:#39f} 
.date{position: absolute; right: 0px; color:#999} 
.content{line-height:20px; word-break: break-all;} 
.element_head{width: 100%; position: relative; height: 20px;} 
.get_more{margin:10px; text-align:center} 
.more_loader_spinner{width:20px; height:20px; margin:10px auto; background: url(loader.gif) no-repeat;}

以上CSS是本例中定制的,当然,大家可以在实际项目中定制不同的样式。注意,more_loader_spinner是定义加载动画图片的。

jQuery

$(function(){   
$('#more').more({'address': 'data.php'}) 
});

使用很简单,配置了后台地址:data.php,来看data.php是怎么处理数据的。

PHP

data.php链接数据库,本例使用本站文章PHP+Mysql+jQuery实现发布微博程序--PHP篇相同的数据表。

require_once('connect.php'); 
$last = $_POST['last']; $amount = $_POST['amount']; 
$user = array('demo1','demo2','demo3','demo3','demo4'); 
$query=mysql_query("select * from say order by id desc limit $last,$amount"); 
while ($row=mysql_fetch_array($query)) {   
$sayList[] = array(     
'content'=>$row['content'],     
'author'=>$user[$row['userid']],     
'date'=>date('m-d H:i',$row['addtime'])    
); 
} 
echo json_encode($sayList);

 data.php接收前台页面提交过来的两个参数,$_POST['last']即开始记录数,$_POST['amount']即单次显示记录数,看SQL语句就明白,其实就是分页中用到的语句。

然后将查询的结果以JSON格式输出,PHP的任务就完成了。

最后来看下jquery.more.js的参数配置。

'amount'   :  '10',      //每次显示记录数 
'address'   :  'comments.php', //请求后台的地址 
'format'   :  'json',     //数据传输格式 
'template'  :  '.single_item', //html记录DIV的class属性 
'trigger'   :  '.get_more',  //触发加载更多记录的class属性 
'scroll'   :  'false',    //是否支持滚动触发加载 
'offset'   :  '100',     //滚动触发加载时的偏移量

本文DEMO中需要单击才能加载更多内容,接下来的文章我将会制作通过滚动条来触发加载更多内容的DOMO,敬请关注。

以上这篇php+jquery+html实现点击不刷新加载更多的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
php mssql扩展SQL查询中文字段名解决方法
Oct 15 PHP
PHP实现获取图片颜色值的方法
Jul 11 PHP
php计算两个日期相差天数的方法
Mar 14 PHP
前端必学之PHP语法基础
Jan 01 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
Yii的Srbac插件用法详解
Jul 14 PHP
header与缓冲区之间的深层次分析
Jul 30 PHP
CI框架实现框架前后端分离的方法详解
Dec 30 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
php网页版聊天软件实现代码
Aug 12 #PHP
PHP 自动加载的简单实现(推荐)
Aug 12 #PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 #PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 #PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 #PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 #PHP
总结PHP中DateTime的常用方法
Aug 11 #PHP
You might like
人族 TERRAN 概述
2020/03/14 星际争霸
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
jQuery Validate验证框架经典大全
2015/09/23 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
Django中间件基础用法详解
2019/07/18 Python
python 实现矩阵按对角线打印
2019/11/29 Python
Python IDE环境之 新版Pycharm安装详细教程
2020/03/05 Python
Python线程协作threading.Condition实现过程解析
2020/03/12 Python
解决django FileFIELD的编码问题
2020/03/30 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
详解Python IO编程
2020/07/24 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
python中使用np.delete()的实例方法
2021/02/01 Python
面向对象编程OOP的优点
2013/01/22 面试题
一道输出判断型Java面试题
2014/10/01 面试题
大学毕业感言
2014/01/10 职场文书
球队口号
2014/06/18 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
2016计算机专业毕业生自荐信
2016/01/28 职场文书
《称赞》教学反思
2016/02/17 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server