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 相关文章推荐
PHP4实际应用经验篇(6)
Oct 09 PHP
PHP人民币金额数字转中文大写的函数代码
Feb 27 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
使用PHP导出Word文档的原理和实例
Oct 21 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
php实现的css文件背景图片下载器代码
Nov 11 PHP
Yii2实现上下联动下拉框功能的方法
Aug 10 PHP
PHP实现批量检测网站是否能够正常打开的方法
Aug 23 PHP
php7 安装yar 生成docker镜像
May 09 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
Feb 15 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
php读取mysql的简单实例
2014/01/15 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
Django发送html邮件的方法
2015/05/26 Python
浅谈Python中的私有变量
2018/02/28 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
Python解决八皇后问题示例
2018/04/22 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
Python hmac模块使用实例解析
2019/12/24 Python
python时间日期操作方法实例小结
2020/02/06 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
Python制作简单的剪刀石头布游戏
2020/12/10 Python
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
介绍一下XMLHttpRequest对象
2012/02/12 面试题
法院授权委托书格式
2014/09/28 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
旷工检讨书1000字
2015/01/01 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python