Skip to content

Instantly share code, notes, and snippets.

@englishextra
Last active October 5, 2016 23:39
Show Gist options
  • Save englishextra/24ef040fbda405f7468da70e4f3b69e7 to your computer and use it in GitHub Desktop.
Save englishextra/24ef040fbda405f7468da70e4f3b69e7 to your computer and use it in GitHub Desktop.
loading spinner
/*!
* loading spinner
* dependent on setAutoClearedTimeout
* gist.github.com/englishextra/24ef040fbda405f7468da70e4f3b69e7
* @param {Object} [cb] callback function
* @param {Int} [n] any positive whole number, default: 500
* LoadingSpinner.show();
* LoadingSpinner.hide(cb,n);
*/
var LoadingSpinner = function () {
"use strict";
var h = BALA.one("html") || "",
cls = "loading-spinner",
a = BALA.one("." + cls) || "",
cL = "classList";
if (!a) {
a = crel("div");
a[cL].add(cls);
appendFragment(a, h);
};
return {
show : function () {
return h[cL].contains(cls) || h[cL].add(cls);
},
hide : function (cb, n) {
n = n || 500;
var s = function () {
setAutoClearedTimeout(function () {
h[cL].remove(cls);
cb && "function" === typeof cb && cb();
}, n);
};
return s();
}
};
}
();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment