(function() {
var loader = document.getElementById("loader");
var config = [{
button: document.getElementById("loader-default"),
className: "loader-default"
},
{
button: document.getElementById("loader-default-half"),
className: "loader-default",
attributes: [{
attribute: "half"
}]
},
{
button: document.getElementById("loader-default-blink"),
className: "loader-default",
attributes: [{
attribute: "blink"
},
{
attribute: "data-text"
}]
},
{
button: document.getElementById("loader-default-inverse"),
className: "loader-default",
attributes: [{
attribute: "inverse"
}]
},
{
button: document.getElementById("loader-default-text"),
className: "loader-default",
attributes: [{
attribute: "data-text"
}]
},
{
button: document.getElementById("loader-default-custom-text"),
className: "loader-default",
attributes: [{
attribute: "data-text",
value: document.getElementById("custom-text")
}]
},
{
button: document.getElementById("loader-double"),
className: "loader-double"
},
{
button: document.getElementById("loader-bar"),
className: "loader-bar"
},
{
button: document.getElementById("loader-bar-rounded"),
className: "loader-bar",
attributes: [{
attribute: "rounded"
}]
},
{
button: document.getElementById("loader-bar-text"),
className: "loader-bar",
attributes: [{
attribute: "data-text"
}]
},
{
button: document.getElementById("loader-bar-blink"),
className: "loader-bar",
attributes: [{
attribute: "blink"
},
{
attribute: "data-text"
}]
},
{
button: document.getElementById("loader-bar-custom-text"),
className: "loader-bar",
attributes: [{
attribute: "data-text",
value: document.getElementById("bar-custom-text")
}]
},
{
button: document.getElementById("loader-border"),
className: "loader-border"
},
{
button: document.getElementById("loader-border-text"),
className: "loader-border",
attributes: [{
attribute: "data-text"
}]
},
{
button: document.getElementById("loader-border-custom-text"),
className: "loader-border",
attributes: [{
attribute: "data-text",
value: document.getElementById("border-custom-text")
}]
},
{
button: document.getElementById("loader-border-blink"),
className: "loader-border",
attributes: [{
attribute: "data-text"
},
{
attribute: "blink"
}]
},
{
button: document.getElementById("loader-ball"),
className: "loader-ball"
},
{
button: document.getElementById("loader-ball-shadow"),
className: "loader-ball",
attributes: [{
attribute: "shadow"
}]
},
{
button: document.getElementById("loader-smartphone"),
className: "loader-smartphone"
},
{
button: document.getElementById("loader-smartphone-text"),
className: "loader-smartphone",
attributes: [{
attribute: "data-screen"
}]
},
{
button: document.getElementById("loader-smartphone-custom-text"),
className: "loader-smartphone",
attributes: [{
attribute: "data-screen",
value: document.getElementById("smartphone-custom-text")
}]
},
{
button: document.getElementById("loader-clock"),
className: "loader-clock"
}];
var timer;
loader.addEventListener("click",
function() {
for (var i = this.attributes.length - 1; i >= 0; i--) {
if (this.attributes[i].name !== "id") {
this.removeAttribute(this.attributes[i].name)
}
}
clearTimeout(timer)
});
for (var i = 0; i < config.length; i++) { (function(i) {
config[i]["button"].addEventListener("click",
function() {
if (config[i]["attributes"]) {
for (var j = 0; j < config[i]["attributes"].length; j++) {
var tempAttribute = config[i]["attributes"][j];
var tempValue = tempAttribute["value"] ? tempAttribute["value"].value: "";
loader.setAttribute(tempAttribute["attribute"], tempValue)
}
}
loader.classList.add("loader", config[i]["className"], "is-active");
hideLoader(config[i]["className"], config[i]["attributes"] ? config[i]["attributes"] : [])
})
})(i)
}
function hideLoader(param) {
timer = setTimeout(function() {
loader.classList.remove("is-active", param, "loader");
},5000)
}
})();
var loader = document.getElementById("loader");
var config = [{
button: document.getElementById("loader-default"),
className: "loader-default"
},
{
button: document.getElementById("loader-default-half"),
className: "loader-default",
attributes: [{
attribute: "half"
}]
},
{
button: document.getElementById("loader-default-blink"),
className: "loader-default",
attributes: [{
attribute: "blink"
},
{
attribute: "data-text"
}]
},
{
button: document.getElementById("loader-default-inverse"),
className: "loader-default",
attributes: [{
attribute: "inverse"
}]
},
{
button: document.getElementById("loader-default-text"),
className: "loader-default",
attributes: [{
attribute: "data-text"
}]
},
{
button: document.getElementById("loader-default-custom-text"),
className: "loader-default",
attributes: [{
attribute: "data-text",
value: document.getElementById("custom-text")
}]
},
{
button: document.getElementById("loader-double"),
className: "loader-double"
},
{
button: document.getElementById("loader-bar"),
className: "loader-bar"
},
{
button: document.getElementById("loader-bar-rounded"),
className: "loader-bar",
attributes: [{
attribute: "rounded"
}]
},
{
button: document.getElementById("loader-bar-text"),
className: "loader-bar",
attributes: [{
attribute: "data-text"
}]
},
{
button: document.getElementById("loader-bar-blink"),
className: "loader-bar",
attributes: [{
attribute: "blink"
},
{
attribute: "data-text"
}]
},
{
button: document.getElementById("loader-bar-custom-text"),
className: "loader-bar",
attributes: [{
attribute: "data-text",
value: document.getElementById("bar-custom-text")
}]
},
{
button: document.getElementById("loader-border"),
className: "loader-border"
},
{
button: document.getElementById("loader-border-text"),
className: "loader-border",
attributes: [{
attribute: "data-text"
}]
},
{
button: document.getElementById("loader-border-custom-text"),
className: "loader-border",
attributes: [{
attribute: "data-text",
value: document.getElementById("border-custom-text")
}]
},
{
button: document.getElementById("loader-border-blink"),
className: "loader-border",
attributes: [{
attribute: "data-text"
},
{
attribute: "blink"
}]
},
{
button: document.getElementById("loader-ball"),
className: "loader-ball"
},
{
button: document.getElementById("loader-ball-shadow"),
className: "loader-ball",
attributes: [{
attribute: "shadow"
}]
},
{
button: document.getElementById("loader-smartphone"),
className: "loader-smartphone"
},
{
button: document.getElementById("loader-smartphone-text"),
className: "loader-smartphone",
attributes: [{
attribute: "data-screen"
}]
},
{
button: document.getElementById("loader-smartphone-custom-text"),
className: "loader-smartphone",
attributes: [{
attribute: "data-screen",
value: document.getElementById("smartphone-custom-text")
}]
},
{
button: document.getElementById("loader-clock"),
className: "loader-clock"
}];
var timer;
loader.addEventListener("click",
function() {
for (var i = this.attributes.length - 1; i >= 0; i--) {
if (this.attributes[i].name !== "id") {
this.removeAttribute(this.attributes[i].name)
}
}
clearTimeout(timer)
});
for (var i = 0; i < config.length; i++) { (function(i) {
config[i]["button"].addEventListener("click",
function() {
if (config[i]["attributes"]) {
for (var j = 0; j < config[i]["attributes"].length; j++) {
var tempAttribute = config[i]["attributes"][j];
var tempValue = tempAttribute["value"] ? tempAttribute["value"].value: "";
loader.setAttribute(tempAttribute["attribute"], tempValue)
}
}
loader.classList.add("loader", config[i]["className"], "is-active");
hideLoader(config[i]["className"], config[i]["attributes"] ? config[i]["attributes"] : [])
})
})(i)
}
function hideLoader(param) {
timer = setTimeout(function() {
loader.classList.remove("is-active", param, "loader");
},5000)
}
})();
解决方案 »
- js选项卡在火狐无效,求教
- 我用的Jquery timer 插件 ,老是出问题
- 有人会吗:怎样在单元格的属性中嵌入javascript代码
- xmlhttp ff兼容问题..
- 向高手学习!!!请教怎么用javascript控制<input type=text>的属性!~!在线等待!!
- 非常郁闷:关于innerHTML动态生成html代码的最新问题(300分)!!请各位高手赐教(特请梅花雨,骆驼大哥,emu....)
- 怎样实现全屏显示
- Ext-JS怎么显示变量值
- JS 在触摸平板上把一段文章分成几页显示,并且左右滑动..
- 求助如何实现验证用户名密码对话框
- unresolved function or method fetch()
- 登录界面如何实现固定账号密码登陆成功之后自动跳转到指定网页
var loaderHash = window.location.hash.split("#/")[1];
var event = document.createEvent("HTMLEvents");
event.initEvent("click", true, false);
document.getElementById(loaderHash).dispatchEvent(event);
setTimeout(function() {
history.pushState("", document.title, window.location.pathname)
}, 2e3,)
}