php 实现自动加载更多,$.ajax+php实战教程之下拉时自动加载更多文章原理分析二...

摘要:

继上一篇《$.ajax+php实战教程之下拉时自动加载更多文章原理分析》文章进行进一步讲解,完善之前的代码及引入ajax和php相关内容......

上次留下的问题不知道看官们有没有解决,没有解决的看下面的答案吧。

4.4、自动加载思路

我们在4.1中已经可以判断出滚动条是否快到拉到底部,在4.2中我们又做出了点击事件和加载“数据”的步骤,所以我们这个自动加载可以将4.1和4

2结合起来。也就是说:当滚动条快拉到底部时,我们让它去触发点击事件。

4.5、自动加载源码

4.5.1、完整jquery代码

$(window).scroll(function(){

var t=$(this).scrollTop();/*获取滚动时距离浏览器顶部的值*/

var h=$(this).height();/*获取当前窗口的高度*/

var h1=$('#ylsj-load').offset().top;/*获取按钮距离浏览器顶部的值*/

/*用按钮的值-滚动条的值与窗口高度进行比较,如果小时,则表示按钮进入可视区,同时也表示滚动条即将到达底部*/

if(h1-t

/*这里将之前的弹窗改成点击事件*/

$('#ylsj-load').click();

}

});

var i=0;

$('#ylsj-load').click(function(){

i++;

$(this).before('

加载的数据外框架,已加载'+i+'次');

});

案例欣赏:

怎么样,是不是有点感觉了?

接下来我们继续向下进行。

五、使用ajax发送请求

5.1、ajax格式

这个ajax的话呢,其实也不是多难,我们还是要先写好框架,然后再进行替换上面的代码。

5.1.1、ajax发送请求代码

$.ajax({

type:"/*类型,post或get*/",

url:'要请求的php文件地址',

data:{/*要传递的参数*/},

dataType:"/*数据类型,html、json、xml等*/",

success:function(data){

/*成功时返回数据*/

},error:function(jqXHR){

/*失败时进行提示*/

}

});

上面的代码怎么用呢?

其实我们只要稍微思考下就行了。上面是代码,代码需要去执行啊!既然是需要去执行,那什么时候才去执行呢???

当然是点击的时候去触发ajax了!好,我们继续来完善我们的代码。

5.2、ajax和jquery进行结合

5.2.1、ajax和jquery进行结合

var i=0;/*定义一个变量,等会用来控制多次触发*/

$(window).scroll(function(){

var t=$(this).scrollTop();/*获取滚动时距离浏览器顶部的值*/

var h=$(this).height();/*获取当前窗口的高度*/

var h1=$('#ylsj-load').offset().top;/*获取按钮距离浏览器顶部的值*/

/*用按钮的值-滚动条的值与窗口高度进行比较,如果小时,则表示按钮进入可视区,同时也表示滚动条即将到达底部*/

if(h1-t

if(i==0){/*防止快速下拉时多次触发*/

i=1;/*改变i的值*/

/*这里将之前的弹窗改成点击事件*/

$('#ylsj-load').click();

}

}

});

$('#ylsj-load').click(function(){

/*将原来这里的内容替换成ajax动态获取数据*/

$.ajax({

type:"/*类型,post或get*/",

url:'要请求的php文件地址',

data:{/*要传递的参数*/},

dataType:"/*数据类型,html、json、xml等*/",

success:function(data){

/*成功时返回数据*/

i=0;/*然后恢复状态,否则继续下拉时不能继续执行*/

},error:function(jqXHR){

/*失败时进行提示*/

}

});

});

上面的代码中还有一些参数没有修改,因为这些参数要根据我们接下来的php进行修改。

六、php文件

6.1、分析php文件做什么事情

这个php文件里面有什么内容呢?具体内容还是要根据我们具体的案例来进行写代码。

举个例子:我们要做一个下拉时自动加载文章的效果。既然是加载文章,所以我们需要知道以下这些数据:文章标题、文章简介、文章缩略图、发表日期、来源网站、作者、阅读量、评论数等等。这些数据都需要通过这个php文件传递给我们上面的ajax。

6.2、sql语句查询信息

既然是传递数据,我们就需要去查询数据。不可能说直接把信息写死,这是不现实的!所以,这个php文件中还要有我们的sql语句。

哦卖糕的!前面的jquery还能稍微理解,后面的ajax完全不能理解,更不用提什么php和sql查询了。想必部分看官会有这样的感想。

那怎么办呢?按照文章思路去学习对应的知识呗!如果只知道copy代码而不知道原理及流程的话,换个地方又不会使用了。

七、最后

下拉时自动加载的原理大致就是这样,对于源码,基本上是大同小异。下次艺灵将会调用几个网站管理系统中的数据来做成插件,到时需要的看官可根据自己的需求进行下载对应的插件。

----------完----------

转载声明:

若亲想转载本文到其它平台,请务必保留本文出处!

本文链接:http://www.yilingsj.com/jquery/2016-05-18/397.html

若亲不想直保留地址,含蓄保留也行。艺灵不想再看到有人拿我的技术文章到他的地盘或者是其它平台做教(装)程(B)而不留下我的痕迹。文章你可以随便转载,随便修改,但请尊重艺灵的劳动成果!谢谢理解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【原创】ucos信号量的操作及原理

信号量的操作及原理 1.OSSemCreate创建信号量semaphore在使用信号量之前,要先用OSSemCreate创建一个信号量,并通过返回的合法事件结构体指针使用信号量。OS_EVENT *OSSemCreate(INT16U cnt){#if OS_CRITICAL_METHOD 3 /* 原理请查看http://blog.csdn.ne…

JMeter之JMS接口测试

JMeter中的JMS Point-to Point、JMS Publisher和JMS Subscriber分别用于发送JMS的PTP消息和PUB/SUB消息,可以选择使用JMeter来测试JMS。 MOM(消息中间件)作为消息数据交换的平台,也是影响应用执行效率的潜在环节。在Java程序中&am…

如何节约数据中心空间

节约数据中心内的空间可以带来诸多的好处: 节约空间意味着可以节省开支。在减少了所使用的空间的同时,还可以减少所需的电源、用水、照明和冷却,这便可以节省支出。 在对空间的消耗进行控制同时,也能确保具有充足的空间来满足未来…

ctf镜子里面的世界_帮大爷干活,他送了我一只鞋子和一手套,又不能穿拿来做什么?哈哈哈|叶子|镜子|虫子|鞋子|棺材...

“帮大爷干活,他送了我一只鞋子和一手套,又不能穿拿来做什么?”怎么看感觉这都不像是普通的鞋和手套,总感觉好像这位大爷瞒着你什么事儿,一般家里的老人都有几件传家宝,说不定这东西是真的不懂,…

AutoRest - 具有 C# 和 Razor 模板的 Swagger 规范代码生成器。

简介AutoRest工具生成用于访问 RESTful Web 服务的客户端库。AutoRest是使用OpenAPI 规范格式描述 REST API 的规范。AutoRest 是一个提供代码生成框架的工具,用于将 OpenAPI 2.0 和 3.0 规范转换为客户端库,用于这些规范所描述的服务。它是在 OpenAPI I…

博客之所有文章目录

文章管理Android之本进程ContentProvider启动流程分析 2018-06-27 22:02:00 Android之通过ContentProvider实现两个app(进程间)间通信以及函数调用 2018-06-26 21:19:37 shell之用command在终端判断是否存在这个命令 2018-06-23 22:53:25 shell之通过if [ $? ! 0 ]判断上次…

java内存四大区,jvm基础-内存区域

1.运行时数据区java虚拟机在执行java程序的过程中会爸它所管理的内存分为若干个不同的数据区域jvm内存主要分为堆、程序计数器、方法区、虚拟机栈喝本地方法栈,直接内存等。java方法的运行和虚拟机栈虚拟机栈是线程运行java方法所需要的数据,指令&#x…

oracle的环境配置-基本配置

宿主机IP地址:10.1.1.x 网关:10.1.1.1虚拟机节点IP地址(本地workstation上创建):10.1.1.101~253 网关:10.1.1.1教师机(VNC):10.1.1.250教学生产库IP:10.1.3…

Koa -- 基于 Node.js 平台的下一代 web 开发框架

http://koa.bootcss.com/ 多研究点 react 和 nodejs 这个是未来转载于:https://www.cnblogs.com/smght/p/5029668.html

企业如何用CRM软件客户管理自动化优化流程?

假如企业需要利用CRM软件来对自己的客户实施一系列的管理维护流程,那么客户服务自动化是个必选的功能流程,如果没有服务自动化流程,那么CRM软件就成了一个普通客户资料信息管理工具,只能被用于储存调用客户的相关信息,…

【ArcGIS遇上Python】ArcGIS Python实现批量化矢量和栅格数据重命名

在ArcGIS中,要为矢量数据或栅格数据重命名,需要到ArcCatalog中进行,但是只能一个个重命名。ArcGIS中也提供了矢量、栅格数据的重命名工具:【重命名】,如下图所示: 双击运行该工具,可以看到,更改数据集的名称。这包括各种数据类型,其中包括要素数据集、栅格、表 和 sha…

电脑测速软件_网速慢,怎么办,教你测速,教你解决方案

网速慢、网页慢、视频卡、游戏卡,如何判断自己的宽带速率是否有问题,本期我们来讨论下,如何正确测试网速,信道干扰、2.4G与5G信号、IPTV测速。一、电脑测速受到无线环境影响,无线性能瓶颈等多方面原因,电脑…

IOS之学习笔记一

1、cocoa框架包含Foundation、Application Kit(Appkit) 2、autoreleasepool{ *** } autoreleasepool自动释放池,在里面的代码会自动释放内存,不会内存泄漏 3、objective-c 2.0引入ARC(自动引用计数)机制和自动释放池,降低内存管理难度 4、NSL…

Xamarin效果第十六篇之GIS添加Mark

在前面几篇文章中简单玩耍了一下在线和离线加载高德地图图层;今天再次完善一下添加Mark图层和展示详细信息弹窗;来看看最终效果:添加Mark无非就是用了PictureMarkerSymbol:PictureMarkerSymbol picMarkSymbol await GetPictureMarker(); MapPoint mapPoint new MapPoint(foot…

php smarty 序号,php – Smarty缩进和代码格式

我可以用Smarty制作一个好看的HTML吗?我的意思是如果我采用这种模式(它不是一个有效的代码,只是一个例子):{{assign var"i" value"0"}}{{assign var"tab" value"0"}}{{foreach from$contact.comments itemcomme…

Android规范发展

一、Android 编码规范 1.java 代码中不出现中文。最多凝视中能够出现中文 2.局部变量命名、静态成员变量命名 仅仅能包括字母,单词首字母出第一个外,都为大写,其它字母都为小写 3.常量命名 仅仅能包括字母和_,字母所有大写&#x…

js input 自动换行_矿用自动灭火装置水基型自动灭火装置原理国内分析研讨_搜狐汽车...

山 东潍坊九通消防科技(九通长胜)是国内最早针对矿用车辆发动机舱自动灭火的要求研发设计的超细干粉、水基型自动灭火装置是当下国内解决矿用车辆(地表车辆、井下车辆)灭火的非常好的技术,目前在掘进机、凿岩台车、皮卡、吉普车、轻卡、巨无霸、电传动汽车、露天矿山…

关于WannaCry勒索病毒 你需要知道的8个问题

近日来,WannaCry勒索病毒席卷全球,超过150个国家至少30万名用户中招,造成损失达80亿美元(约合人民币550亿元)。 目前,多名网络安全专家指出,目前病毒事态只是由于多种原因而稍显缓和,但许多网络用户特别是中…

IOS之学习笔记二(块)

1、逗号表达式,返回整个逗号表达式的返回值是最后一个表达式的返回值,长见识了,第一次听说,比如 int x (a 3, a 4, a 5, a 6);NSLog("x is %d", x);x is 6 2、iOS 有如下三种随机数方法: 1)…

C# ReaderWriterLockSlim类

为了使锁定机制允许锁定多个读取器(而不是一个写入器)访问某个资源,可以使用 ReaderWriterLockSlim 类。这个类提供了一个锁定功能,如果没有写入器锁定资源,就允许多个读取器访问资源,但只能有一个写入器锁定该资源。ReaderWriter…