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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
php遍历目录viewDir函数
Dec 15 PHP
控制PHP的输出:缓存并压缩动态页面
Jun 11 PHP
解析yii数据库的增删查改
Jun 20 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
Apr 09 PHP
php socket实现的聊天室代码分享
Aug 16 PHP
PHP实现数组递归转义的方法
Aug 28 PHP
smarty模板引擎中自定义函数的方法
Jan 22 PHP
php基于GD库画五星红旗的方法
Feb 24 PHP
PHP文件操作方法汇总
Jul 01 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 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
在WIN98下以apache模块方式安装php
2006/10/09 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
PHP折半(二分)查找算法实例分析
2018/05/12 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
YII框架http缓存操作示例
2019/04/29 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
python实现人人网登录示例分享
2014/01/19 Python
Python中的迭代器漫谈
2015/02/03 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
利用Python破解斗地主残局详解
2017/06/30 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
药品营销策划方案
2014/06/15 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
单位提档介绍信
2015/10/22 职场文书
班主任培训研修日志
2015/11/13 职场文书
Win11 BitLocker 驱动器加密
2022/04/19 数码科技