首页 > web前端 > js教程 > 正文

AJAX显示加载中并弹出图层遮挡页面的实现示例

亚连
发布: 2018-05-23 10:30:34
原创
2311人浏览过

大家都知道ajax的请求是异步的,这种异步的机制给我们带来了体验上的优化,但是同时我要求我们有更完善的思维去处理一个业务。当用户请求后长时间没有回应是一种非常不好的用户体验,所以我们可以在请求后利用ajax显示加载中并弹出图层遮挡页面,下面来看看实现方法。

前言

相信每位开发者都应该有所了解,当用户发出AJAX请求时,如果长时间处于请求阶段,而没有给出用户回应,会给用户造成错觉,导致用户以为我们的系统“没反应“了。这从某方面来讲是一种不友好。

甚至有的时候,用户看不到想要的结果,就会不停的请求,这样会发生意想不到的后果。

所以,当发出AJAX请求时,我们给出一定的措施,保证系统的正确运行和良好的用户体验。

在这里,我使用的是:显示加载中图片,并弹出一个图层,使用户不能再次发出请求。

实现方法

HTML部分:

1

2

3

<p id="loading" class="loadingp">

    <img src="images/data-loading.gif" alt="图片加载中···" />

</p>

登录后复制

HTML部分只需要放置一个p,里面包含一个img。

CSS样式:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

/*图片加载中p图层,用于遮挡页面*/

.loadingp

{

  position:absolute;

  text-align:center;

  left:0px;

  top:0px;

  z-index:70;

  background-color:#000000;

  opacity: 0.7;/*透明#CCCCCC*/

  display:none;

  }  

/*加载中图片*/

.loadingp img

{

  position:absolute;

  left:0px;

  top:0px;

  z-index:80;

  }

登录后复制

对p和img进行样式设置。

JS代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

//ajax请求过程中,显示加载中图片并显示图层,请求完成隐藏图片

$(function () {

  //注册ajax加载事件

  $("#loading").ajaxStart(function () {

    //一个p,用来遮挡页面,请求过程中,不可操作页面

    var lockwin = $(this);

    //p占满整个页面

    lockwin.css("width", "100%");

    lockwin.css("display", "block");

    lockwin.css("height", $(window).height() + $(window).scrollTop());

    //设置图片居中

    $("#loading img").css("display", "block");

    $("#loading img").css("left", ($(window).width() - 88) / 2);

    $("#loading img").css("top", ($(window).height() + $(window).scrollTop()) / 2);

  });

  

  $("#loading").ajaxStop(function () {

    //隐藏p

    var lockwin = $(this);

    lockwin.css("width", "0");

    lockwin.css("display", "none");

    lockwin.css("height", "0");

    //设置图片隐藏

    $("#loading img").css("display", "none");

  });

});

登录后复制

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

通达OA 使用Ajax和工作流插件实现根据人力资源系统数据增加OA账号(图文详解)

Ajax提交参数的值中带有html标签不能提交成功的解决办法

Lavarel框架中使用ajax提交表单的方法_AJAX相关

以上就是AJAX显示加载中并弹出图层遮挡页面的实现示例的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号