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 相关文章推荐
php+dbfile开发小型留言本
Oct 09 PHP
PHP Pear 安装及使用
Mar 19 PHP
由php的call_user_func传reference引发的思考
Jul 23 PHP
php抓取页面与代码解析 推荐
Jul 23 PHP
PHP可变函数的使用详解
Jun 14 PHP
php中in_array函数用法分析
Nov 15 PHP
提高php编程效率技巧
Aug 13 PHP
解决php表单重复提交实现方法
Sep 29 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
thinkphp跨库操作的简单代码实例
Sep 22 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
laravel 验证错误信息到 blade模板的方法
Sep 29 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中for循环语句的几种变型
2006/11/26 PHP
关于js和php对url编码的处理方法
2014/03/04 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
Javascript alert消息换行的方法
2013/08/07 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
2018/12/05 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
python面向对象入门教程之从代码复用开始(一)
2018/12/11 Python
Django 自定义分页器的实现代码
2019/11/24 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
美国知名眼镜网站:Target Optical
2020/04/04 全球购物
介绍一下JNDI的基本概念
2013/07/26 面试题
授权委托书(公民个人适用)
2014/09/19 职场文书
违纪学生保证书
2015/02/27 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python