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 相关文章推荐
js不完美解决click和dblclick事件冲突问题
Jul 16 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
Dec 04 Javascript
jQuery在iframe中无法弹出对话框的解决方法
Jan 12 Javascript
RequireJS 依赖关系的实例(推荐)
Jan 21 Javascript
vue上传图片组件编写代码
Jul 26 Javascript
JavaScript调试之console.log调试的一个小技巧分享
Aug 07 Javascript
微信小程序movable view移动图片和双指缩放实例代码
Aug 08 Javascript
Vue-Router2.X多种路由实现方式总结
Feb 09 Javascript
详解vue使用$http服务端收不到参数
Apr 19 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 Javascript
vue渲染方式render和template的区别
Jun 05 Javascript
解决vue请求接口第一次成功,第二次失败问题
Sep 08 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跨时区(UTC时间)应用解决方案
2013/01/11 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
2015/08/31 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
VUE长按事件需求详解
2017/10/18 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
vue实现购物车的监听
2020/04/20 Javascript
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
Python之文字转图片方法
2018/05/10 Python
Python中的CSV文件使用&quot;with&quot;语句的方式详解
2018/10/16 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
Python识别html主要文本框过程解析
2020/02/18 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
总监职责范文
2013/11/09 职场文书
xxx同志考察材料
2014/02/07 职场文书
英语求职信范文
2014/05/23 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
创先争优个人总结
2015/03/04 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
python实现三阶魔方还原的示例代码
2021/04/28 Python
Oracle中update和select 关联操作
2022/01/18 Oracle