javascript 通用loading动画效果实例代码


Posted in Javascript onJanuary 14, 2014

由于项目中多处要给ajax提交的时候增加等待动画效果,所以就写了一个简单的通用js方法;
代码如下:

/*ajax提交的延时等待效果*/
var AjaxLoding = new Object();
//wraperid : 显示loding图片的容器元素
//ms:表示loding图标显示的时长,毫秒
//envent:表示出发事件的事件源对象,用于获得出发事件的对象
//callback:表示动画结束后执行的回掉方法
//stop()方法表示在回掉方法执行成功后执行的隐藏动画的操作
AjaxLoding.load = function(lodingid,ms,event,left,top,callback){
    if (!left || typeof left == undefined)
        left = 0;
    if (!top || typeof top == undefined)
        top = 0;
    this.lodingid = lodingid; //显示loding图标的parent元素
    this.obj = $("#" + this.lodingid);
    this.sourceEventElement=$(event.currentTarget);
    this.start = function () {



this.obj.css({positin:"relative"});
        this.sourceEventElement.attr("disabled",true);
        //默认将图标居中与lodingid显示,设置如下样式
        var imgobj = $("<img src='/images/loaderc.gif' style='position:absolute; width:32px; height:32px;' id='img_loding'/>"); 
        imgobj.css({ left: this.obj.width() / 2-imgobj.width()/2-left, top: this.obj.height() / 2-imgobj.height()/2-top });
        imgobj.appendTo(this.obj);
        this.obj.animate({height:this.obj.height()}, ms, function () {
            callback(); 
        });
    };
    this.stop = function () { 
        $("#img_loding").remove();
        this.sourceEventElement.attr("disabled", false);
    }
};

调用方法:

$("#elementid").click(function (e) { 
  var obj = new AjaxLoding.load("div_test", 2000,e,0,0,function () {
            //alert("提交成功!"); 
            obj.stop();//隐藏加载图标
        });
  obj.start();
        });

javascript 通用loading动画效果实例代码我用的loding图标,大家可以自行替换;

实现很简单,没有考虑什么性能、标准什么的;还有很多不完善,有更好的欢迎交流;

Javascript 相关文章推荐
Jquery上传插件 uploadify v3.1使用说明
Jun 18 Javascript
JQuery选择器、过滤器大整理
May 26 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
Apr 29 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
May 13 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
Jul 11 Javascript
原生js开发的日历插件
Feb 04 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
Mar 01 Javascript
jQuery序列化后的表单值转换成Json
Jun 16 jQuery
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
详解vue 模版组件的三种用法
Jul 21 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
Mar 15 Javascript
vue 实现用户登录方式的切换功能
Apr 14 Javascript
jquery操作cookie插件分享
Jan 14 #Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
Jan 14 #Javascript
js动画效果制件让图片组成动画代码分享
Jan 14 #Javascript
利用JQuery制作符合Web标准的QQ弹出消息
Jan 14 #Javascript
js中opener与parent的区别详细解析
Jan 14 #Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 #Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
Jan 14 #Javascript
You might like
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
php DES加密算法实例分析
2019/09/18 PHP
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
2016/09/17 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
微信小程序网络封装(简单高效)
2018/08/06 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
python获取目录下所有文件的方法
2015/06/01 Python
Python中Class类用法实例分析
2015/11/12 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
matplotlib绘制动画代码示例
2018/01/02 Python
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
wxpython实现图书管理系统
2018/03/12 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
什么是Python中的顺序表
2020/06/02 Python
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
网球场地租赁协议范本
2014/10/07 职场文书
学校捐书倡议书
2015/04/27 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
立案决定书范文
2015/06/24 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
Navicat for MySQL的使用教程详解
2021/05/27 MySQL