一款基于jQuery Ajax的等待效果
1、效果示例
1、加载中效果

2、加载后效果

2、代码样例
var ajaxUtil = {
/**为保证load图标不会一闪而过,小于600毫秒的请求将延时加载*/
loadShowTime:,
/**
* Ajax请求
* @param {Object} url 请求的url
* @param {Object} params 参数(json类型,如:{userName:'admin', email:'mao2080@sina.com'})
* @param {Object} successCallBack 自定义函数-成功时返回
* @param {Object} errorCallBack 自定义函数-失败时返回
* @param {Object} args 其他参数{"loadingId":null}
*/
ajaxRequest : function(url, params, successCallBack, errorCallBack, args){
args = ajaxUtil.showLoading(args);
$.ajax({
url:url,
data:params,
type:"get",
dataType:"json",
async:true,
success:function(res){
if(res.success || res.code == ){
args.timestamp = new Date().getTime()-args.timestamp;
if(args.timestamp || args.timestamp > ajaxUtil.loadShowTime){
window.setTimeout(function(){
ajaxUtil.hideLoading(args);
successCallBack(res);
}, ajaxUtil.loadShowTime-args.timestamp);
}else{
ajaxUtil.hideLoading(args);
successCallBack(res);
}
}else{
ajaxUtil.hideLoading(args, true);
if(errorCallBack){
errorCallBack(res);
}
}
},
error:function(res){
ajaxUtil.hideLoading(args);
alert("请求失败...");
},
});
},
/**
* 显示加载loading
* @param {Object} args
*/
showLoading:function(args){
args = !args?{}:args;
args.timestamp = new Date().getTime();
if(args.loadingId){
var container = $(args.loadingId);
if(container){
container.css({"position":"relative"});
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>');
}
}
return args;
},
/**
* 隐藏加载loading
* @param {Object} args
*/
hideLoading:function(args){
if(args.loadingId){
var container = $(args.loadingId);
if(container){
container.find('.loading').remove();
}
}
}
}
$(function(){
ajaxUtil.ajaxRequest("data.json", null, function(res){
//处理请求成功
$("#userName").html(res.data.userName);
$("#email").html(res.data.email);
}, function(res){
//处理请求失败
}, {loadingId:"#test1"})
});
3、资料下载
一款基于jQuery Ajax的等待效果的更多相关文章
- 推荐20款基于 jQuery & CSS 的文本效果插件
jQuery 和 CSS 可以说是设计和开发行业的一次革命.这一切如此简单,快捷的一站式服务.jQuery 允许你在你的网页中添加一些真正令人惊叹的东西而不用付出很大的努力,要感谢那些优秀的 jQue ...
- 一款基于jQuery/CSS3实现拼图效果的相册
之前为大家介绍了 HTML5 3D立体图片相册, HTML5图片相册重力感应特效, 基于CSS3图片可倾斜摆放的动画相册 今天我们要来分享一款很酷的jQuery相册插件,首先相册中的图片会以一定的角度 ...
- 基于jQuery标题有打字效果的焦点图
给大家分享一款基于jQuery标题有打字效果的焦点图.之前为大家分享了好多jquery的焦点图.这款焦点图适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗 ...
- 一款基于jquery的手风琴图片展示效果
今天要给大家分享一款基于jquery的手风琴图片展示效果.这款图片的展示效果鼠标经过前是灰色的,当鼠标经过时图片变大且变为彩色.效果图如下: 在线预览 源码下载 实现的代码. html代码: &l ...
- 12款优秀 jQuery Ajax 分页插件和教程
12款优秀 jQuery Ajax 分页插件和教程 在这篇文章中,我为大家收集了12个基于 jQuery 框架的 Ajax 分页插件,这些插件都提供了详细的使用教程和演示.Ajax 技术的出现使得 W ...
- 10款基于jquery实现的超酷动画源码
1.jQuery二级下拉菜单 下拉箭头翻转动画 之前我们分享过不少基于jQuery的二级下拉菜单,甚至是多级的下拉菜单,比如这款jQuery/CSS3飘带状多级下拉菜单就非常华丽.但今天要介绍的这款j ...
- 10款基于jquery的web前端特效及源码下载
1.jQuery时间轴插件:jQuery Timelinr 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚 ...
- 8款基于Jquery的WEB前端动画特效
1.超炫酷的30个jQuery按钮悬停动画 按钮插件是最常见的jQuery插件之一,因为它用途广泛,而且配置起来最为方便.今天我们要分享的是30个超炫酷的jQuery悬停按钮动画,当我们将鼠标滑过按钮 ...
- 10款基于jquery的web前端动画特效
1.jQuery横向手风琴图片切换动画 之前我们为大家分享过很多款基于jQuery和CSS3的手风琴菜单和手风琴焦点图插件,比如CSS3响应式垂直手风琴菜单和jQuery横向手风琴图片展示插件.今天要 ...
随机推荐
- 从入门到自闭之python初识
Day 01 整型: 对比: 在python 2 版本中有整型,长整型long 在python 3 版本中全部都是整型 用于计算和比较 整型和布尔值的转换 二进制转换成十进制: print (int ...
- 学习WPF-1
学习WPF-1 最近到新公司,需要使用WPF来做界面开发,我原先是使用WinForm来做界面开发的,所以对于现在使用WPF来开发,需要先学习一段时间了,考核的内容目前也还没定下来做什么, 但终归是使用 ...
- npm学习(六)之如何创建 Node.js 模块
如何创建 Node.js 模块 Node.js 模块是一种可以发布到 npm 的包.当你创建一个新模块时,创建 package.json 文件是第一步. 你可以使用 npm init 命令创建 pac ...
- 阿里云云效平台使用——Windows上使用阿里云云效(RDC)Git拉取代码
转载:https://blog.csdn.net/for_my_life/article/details/88700696 SSH key配置 1.首先从开始菜单里面打开刚刚安装完成的Git目录下Gi ...
- java 内部类复习
/** * 内部类详解 * * @author shao * */ public class InnerClass { public static void main(String[] args) { ...
- 第98:svd原理
SVD分解:任何矩阵都可以分解成第一行的形式,3个相乘.UV都是正交矩阵,中间的是奇异值. 3个相乘的形式可以拆分.即奇异值*第一行*第一列.在相加. 奇异值有时很小,在这种情况下,丢掉,可以减少计算 ...
- Linux往log中写日志
void writelog(const char* log) { time_t tDate; struct tm* eventTime; time(&tDate);//得到系统当前时间 //将 ...
- sed 删除用法
sed ‘1,4d’ dataf1 #把第一行到第四行删除,并且显示剩下的内容 sed ‘/La/d’ dataf2 #把含有 La 的行删除 sed ‘/La/!d`’#把不含 La 的行删除,!是 ...
- SpringBootMVC01——A simple SpringBootMVC Sample
不带数据库的SpringBootMVC案例 1.创建一个SpringBoot项目,添加thymeleaf,webstarter 2.目录层级 3.启动器代码 package com.littlepag ...
- BZOJ - 3998 弦论 (后缀自动机)
#include<cstdio> #include<cstring> #include<queue> using namespace std; typedef lo ...