一款基于jQuery Ajax的等待效果

特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/

1、效果示例

1、加载中效果

2、加载后效果

2、代码样例

 1 var ajaxUtil = {
 2             /**为保证load图标不会一闪而过,小于600毫秒的请求将延时加载*/
 3             loadShowTime:600,
 4             /**
 5              * Ajax请求
 6              * @param {Object} url 请求的url
 7              * @param {Object} params 参数(json类型,如:{userName:‘admin‘, email:‘[email protected]‘})
 8              * @param {Object} successCallBack 自定义函数-成功时返回
 9              * @param {Object} errorCallBack 自定义函数-失败时返回
10              * @param {Object} args 其他参数{"loadingId":null}
11              */
12             ajaxRequest : function(url, params, successCallBack, errorCallBack, args){
13                 args = ajaxUtil.showLoading(args);
14                 $.ajax({
15                     url:url,
16                     data:params,
17                     type:"get",
18                     dataType:"json",
19                     async:true,
20                     success:function(res){
21                         if(res.success || res.code == 200){
22                             args.timestamp = new Date().getTime()-args.timestamp;
23                             if(args.timestamp || args.timestamp > ajaxUtil.loadShowTime){
24                                 window.setTimeout(function(){
25                                     ajaxUtil.hideLoading(args);
26                                     successCallBack(res);
27                                 }, ajaxUtil.loadShowTime-args.timestamp);
28                             }else{
29                                 ajaxUtil.hideLoading(args);
30                                 successCallBack(res);
31                             }
32                         }else{
33                             ajaxUtil.hideLoading(args, true);
34                             if(errorCallBack){
35                                 errorCallBack(res);
36                             }
37                         }
38                     },
39                     error:function(res){
40                         ajaxUtil.hideLoading(args);
41                         alert("请求失败...");
42                     },
43                 });
44             },
45             /**
46              * 显示加载loading
47              * @param {Object} args
48              */
49             showLoading:function(args){
50                 args = !args?{}:args;
51                 args.timestamp = new Date().getTime();
52                 if(args.loadingId){
53                     var container = $(args.loadingId);
54                     if(container){
55                         container.css({"position":"relative"});
56                         container.append(‘<div class="loading" style="width:60px; height:24px; position:absolute;left:50%;top:50%;margin-left:-30px;margin-top:-12px;"><img src="img/loading-0.gif"/></div>‘);
57                     }
58                 }
59                 return args;
60             },
61             /**
62              * 隐藏加载loading
63              * @param {Object} args
64              */
65             hideLoading:function(args){
66                 if(args.loadingId){
67                     var container = $(args.loadingId);
68                     if(container){
69                         container.find(‘.loading‘).remove();
70                     }
71                 }
72             }
73         }
74
75         $(function(){
76             ajaxUtil.ajaxRequest("data.json", null, function(res){
77                 //处理请求成功
78                 $("#userName").html(res.data.userName);
79                 $("#email").html(res.data.email);
80             }, function(res){
81                 //处理请求失败
82             }, {loadingId:"#test1"})
83         });

3、资料下载

load-demo.rar

时间: 2024-07-31 00:35:30

一款基于jQuery Ajax的等待效果的相关文章

推荐20款基于 jQuery &amp; CSS 的文本效果插件

jQuery 和 CSS 可以说是设计和开发行业的一次革命.这一切如此简单,快捷的一站式服务.jQuery 允许你在你的网页中添加一些真正令人惊叹的东西而不用付出很大的努力,要感谢那些优秀的 jQuery 插件. 所以今天我们将展示一些很酷的文本效果插件,将帮助你为你的 Web 页面创建一些很酷的和动态的东西.这里是20个基于 jQuery & CSS 的文本效果插件. 您可能感兴趣的相关文章 12款经典的白富美型 jQuery 图片轮播插件 让网站动起来!12款优秀的 jQuery 动画插件

收藏5款基于jquery的web前端效果预览

1.基于jquery的圆形动画按钮 今天要给大家带来一款基于jquery的圆形动画按钮.这款按钮鼠标经过的时候以边框转圈,然后逐渐消息,在实例中给出了四种颜色的demo. 在线演示 源码下载 2.使用jQuery和CSS3制作数字时钟 数字时钟可以应用在一些WEB倒计时效果.WEB闹钟效果以及基于HTML5的WEB APP中,本文将给大家介绍不借助任何图片,如何使用CSS3和HTML来制作一个非常漂亮的数字时钟效果. 在线演示 源码下载 3.基于纯 CSS3 技术实现美观的标签云效果 标签云是博

一款基于jQuery/CSS3实现拼图效果的相册

之前为大家介绍了 HTML5 3D立体图片相册, HTML5图片相册重力感应特效, 基于CSS3图片可倾斜摆放的动画相册 今天我们要来分享一款很酷的jQuery相册插件,首先相册中的图片会以一定的角度倾斜放置在页面上,点击图片缩略图就可以展开图片,并且图片是由所有缩略图拼接而成,图片展开和收拢的动画效果也非常不错.当然图片倾斜需要CSS3支持.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="im_wrapper" class="im

jquery + css 特效 之 一款基于jQuery/CSS3实现拼图效果的相册

今天我们要来分享一款很酷的jQuery相册插件,首先相册中的图片会以一定的角度倾斜放置在页面上,点击图片缩略图就可以展开图片,并且图片是由所有缩略图拼接而成,图片展开和收拢的动画效果也非常不错.当然图片倾斜需要CSS3支持.效果图如下: 本章主要参照了如下文章进行学习 jquery:http://www.itmmd.com/tag/jquery.html jQuery教程(31)-jQuery插件开发之全局函数插件 jQuery教程(30)-jQuery插件开发之自定义选择符 jQuery教程(

基于jQuery标题有打字效果的焦点图

给大家分享一款基于jQuery标题有打字效果的焦点图.之前为大家分享了好多jquery的焦点图.这款焦点图适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 在线预览   源码下载 实现的代码. html代码: <!-- 代码 开始 --> <div id="header"> <div class="wrap"> <div id="slide-holder&q

一款基于jquery的手风琴图片展示效果

今天要给大家分享一款基于jquery的手风琴图片展示效果.这款图片的展示效果鼠标经过前是灰色的,当鼠标经过时图片变大且变为彩色.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="page-container"> <div class="flex-container"> <div class="country netherlands"> <div> Nethe

10款基于jQuery实现的鼠标悬停九宫格图片延伸效果

<p><b>1.jQuery多张图片上下叠加切换插件</b></p><p>之前我们已经向大家分享过一款jQuery/CSS3洗牌效果的图片叠加切换应用,本文介绍的这款jQuery多张图片上下叠加切换插件也类似,我们可以将预先加载好的图片按不同的角度叠加起来,点击上下切换按钮时即可将图片上下切换至其他图片后面,效果非常不错.</p><p><img src="http://www.html5tricks.com

10款基于jQuery的图片滑块焦点图插件

1.Material UI – Material Design CSS 框架 Material Design 是谷歌推出的全新的设计理念,采用大胆的色彩.流畅的动画播放,以及卡片式的简洁设计.Material Design 风格的设计拥有干净的排版和简单的布局,容易理解,内容才是焦点.Material UI 是一个 CSS 框架和一组实现谷歌 Material Design 设计规范的 React 组件.可以作为 NPM 安装包,使用 browserify 和 reactify 的依赖管理和 J

10款基于jquery的web前端动画特效

1.jQuery横向手风琴图片切换动画 之前我们为大家分享过很多款基于jQuery和CSS3的手风琴菜单和手风琴焦点图插件,比如CSS3响应式垂直手风琴菜单和jQuery横向手风琴图片展示插件.今天要介绍的也是一款基于jQuery的横向手风琴图片切换动画,鼠标滑过图片时即可展开,并且图片上方有文字标题,非常实用. 在线演示 源码下载 2.jQuery/CSS3渐变颜色拾取器 之前我们向大家分享过一款功能十分强大的jQuery颜色拾取器,支持透明度的选取.今天要为大家介绍的同样是一款基于jQuer