携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第28天,点击查看活动详情
Prototype并不是唯一能够提供针对Ajax请求的全局事件处理函数的程序库;jQuery中通过ajaxStart()和ajaxStop()两个方法提供了类似的功能。当一个Ajax请求启动时,并且没有其他未完成的Ajax请求时,将调用ajaxStart()方法。同样,ajaxStop()方法则是在所有Ajax请求都完成时调用。这些方法的参数都是一个函数,这个函数将在事件发生时被调用。
介绍
AjaxStart顾名思义就是在Ajax请求之前执行,Stop表示在Ajax请求完成后执行
ajaxStart 的使用格式为:
$(document).ajaxStart(回调函数);
ajaxStop 的使用格式为:
$(document).ajaxStop(回调函数);
实验测试:
- 在页面里面创建一个按钮,使用
$("div").load("cat.html")在div标签中加载cat.html页面上的内容。 - 当 AJAX 请求开始执行前,
ajaxStart事件被触发,弹出警告框提醒 AJAX 开始执行。 - 当 AJAX 请求执行完毕后,
ajaxStop事件被触发,弹出警告框提醒 AJAX 执行完成。 - cat.html就是一张图片,可以自己随便放一个。
cat:
index
点击一次,出现弹窗开始执行,点击确定变成执行完成
最后变成
那么接下来我们来进行一个召唤柯基的实验
我们使用之前学过的 load 方法来召唤一只柯基,并在页面上使用 ajaxStop 和 ajaxStart 方法在页面上提示召唤开始和召唤结束。
和前面一样,准备照片,不同的是,本次需要两个照片,第一个是柯基照片,第二个是狗子饭盆
然后新建index文件,里面有一个button叫召唤,1. 当点击页面上的「召唤」按钮,在 div 标签中开始加载 dog.html 页面上的内容。
代码和上面差不多,不过我们使用方法绑定了动画,所以才有一步一步感觉,其他把名字修改就是。
我们知道图片是在div里面出现的,并且在dog页面给每个图有id,那么我们js里面,获取到id然后调用延迟动画 可以得到如下效果。