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 相关文章推荐
javascript实现2048游戏示例
May 04 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
Oct 17 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
Jun 17 Javascript
在localStorage中存储对象数组并读取的方法
Sep 24 Javascript
JavaScript实现垂直滚动条效果
Jan 18 Javascript
bootstrap table 数据表格行内修改的实现代码
Feb 13 Javascript
基于JQuery的购物车添加删除以及结算功能示例
Mar 08 Javascript
javascript 的变量、作用域和内存问题
Apr 19 Javascript
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
vue打包使用Nginx代理解决跨域问题
Aug 27 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
Feb 21 Javascript
JS this关键字在ajax中使用出现问题解决方案
Jul 17 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
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
php 可变函数使用小结
2018/06/12 PHP
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
jQuery中需要注意的细节问题小结
2011/12/06 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
防止Layui form表单重复提交的实现方法
2019/09/10 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
python使用matplotlib绘制柱状图教程
2017/02/08 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
django 控制页面跳转的例子
2019/08/06 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
Max&Co官网:意大利年轻女性时尚品牌
2017/05/16 全球购物
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
2016/04/13 面试题
复核员上岗演讲稿
2014/01/05 职场文书
会议开场欢迎词
2014/01/15 职场文书
网络技术专业求职信
2014/02/18 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
学生检讨书怎么写
2015/05/07 职场文书
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技