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 Array扩展实现代码
Oct 14 Javascript
JavaScript 学习笔记二 字符串拼接
Mar 28 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
Nov 03 Javascript
javascript 闭包详解
Jul 02 Javascript
Vue.js每天必学之过滤器与自定义过滤器
Sep 07 Javascript
详解ES6中的Map与Set集合
Mar 22 Javascript
vue实现多条件和模糊搜索功能
May 28 Javascript
原生JS无缝滑动轮播图
Oct 22 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
Nov 19 Javascript
js实现左右轮播图
Jan 09 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 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
IIS6的PHP最佳配置方法
2007/03/19 PHP
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
2018/10/24 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
分享一个asp.net pager分页控件
2012/01/04 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
IE8中动态创建script标签onload无效的解决方法
2014/12/22 Javascript
学习JavaScript正则表达式
2015/11/13 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
JS数组实现分类统计实例代码
2018/09/30 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
win7安装python生成随机数代码分享
2013/12/27 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
公关关系专员的自我评价分享
2013/11/20 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
vue+echarts实现多条折线图
2022/03/21 Vue.js