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创建插件的代码分析
Apr 14 Javascript
javascript中强制执行toString()具体实现
Apr 27 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
May 31 Javascript
js字母大小写转换实现方法总结
Nov 13 Javascript
JQuery下拉框应用示例介绍
Apr 23 Javascript
Javascript表单验证要注意的事项
Sep 29 Javascript
详解jquery中$.ajax方法提交表单
Nov 03 Javascript
JavaScript检查子字符串是否在字符串中的方法
Feb 03 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
Sep 05 Javascript
AngularJs 禁止模板缓存的方法
Nov 28 Javascript
JavaScript如何判断对象有某属性
Jul 03 Javascript
JavaScript事件循环及宏任务微任务原理解析
Sep 02 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开启gzip页面压缩实例代码
2010/03/11 PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
Mac环境下php操作mysql数据库的方法分享
2015/05/11 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
JS实现简单随机3D骰子
2019/10/24 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
python中urllib模块用法实例详解
2014/11/19 Python
python网络编程之文件下载实例分析
2015/05/20 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
Django开发中的日志输出的方法
2018/07/02 Python
python实现各种插值法(数值分析)
2019/07/30 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
医药专业推荐信
2013/11/15 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
小学母亲节活动方案
2014/03/14 职场文书
拉贝日记观后感
2015/06/05 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL
Python机器学习三大件之一numpy
2021/05/10 Python
MongoDB使用场景总结
2022/02/24 MongoDB
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android