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时间日期和毫秒的相互转换
Feb 22 Javascript
100个不能错过的实用JS自定义函数
Mar 05 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
Oct 17 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
Jan 28 Javascript
javascript实用方法总结
Feb 06 Javascript
Lab.js初次使用笔记
Feb 28 Javascript
javascript给span标签赋值的方法
Nov 26 Javascript
JavaScript设计模式经典之工厂模式
Feb 24 Javascript
又一款js时钟!transform实现时钟效果
Aug 15 Javascript
AngularJS中指令的四种基本形式实例分析
Nov 22 Javascript
Vue $emit $refs子父组件间方法的调用实例
Sep 12 Javascript
JS多个异步请求 按顺序执行next实现解析
Sep 16 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版本的cron定时任务执行器使用实例
2014/08/19 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
基于PHP制作验证码
2016/10/12 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
HTML5如何适配 iPhone IOS 底部黑条
2021/03/09 HTML / CSS
Prototype使用指南之range.js
2007/01/10 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
JS等比例缩小图片尺寸的实例
2013/02/27 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
2017/03/01 Javascript
node 利用进程通信实现Cluster共享内存
2017/10/27 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
django 自定义用户user模型的三种方法
2014/11/18 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
django自定义非主键自增字段类型详解(auto increment field)
2020/03/30 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
优秀应届毕业生推荐信
2014/02/18 职场文书
小学假期安全广播稿
2014/09/28 职场文书
新娘婚礼致辞
2015/07/27 职场文书