javascript 通用loading动画效果实例代码_javascript技巧
代码如下:
/*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 = $("");
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();
});
我用的loding图标,大家可以自行替换;
实现很简单,没有考虑什么性能、标准什么的;还有很多不完善,有更好的欢迎交流;
推荐阅读
-
JavaScript反弹动画效果的实现代码
-
javascript原生封装一个淡入淡出效果的函数测试实例代码
-
javascript按钮禁用和启用的效果实例代码
-
javascript实现table单元格点击展开隐藏效果(实例代码)
-
JavaScript无缝滚动效果的实例代码
-
使用JavaScript 实现时间轴与动画效果的示例代码(前端组件化)
-
利用JavaScript实现新闻滚动效果(实例代码)_javascript技巧
-
javascript suggest效果 自动完成实现代码分享_javascript技巧
-
jQuery实现可收缩展开的级联菜单实例代码_javascript技巧
-
js 文本滚动效果的实例代码_javascript技巧