如何修改此 HTML JS 页面加载脚本以淡出白色背景和图标
How to modify this HTML JS page loading script to fade out white background as well as icon
我已经实现了这个加载图标,它运行良好并且显示在页面的中央,这很好。我已经添加了一个额外的脚本来淡出图标,而不是它突然改变,这很有效,但白色背景的变化仍然非常突然。
我想知道如何更改以下脚本以允许白色背景淡出页面内容和图标。
<style>
#loader {
width: 70px;
height: 70px;
}
.center {
background: #fff;
position:fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
</style>
<div id="loader" class="center"> <i class="fa fa-spinner fa-5x fa-spin" style="color:#118F5E"></i></div>
<script>
document.onreadystatechange = function() {
if (document.readyState !== "complete") {
document.querySelector(
"body").style.visibility = "hidden";
$('#loader').animate({opacity: 0}, 1000);
document.querySelector(
"#loader").style.visibility = "visible";
} else {
document.querySelector(
"#loader").style.display = "none";
document.querySelector(
"body").style.visibility = "visible";
}
};
</script>
您可以稍微扩展一下现有的内容,然后将加载器放在覆盖容器中。
html
<div id="page-overlay" class="center">
<div id="loader" class="center"> <i class="fa fa-spinner fa-5x fa-spin" style="color:#118F5E"></i></div>
</div>
css
#loader {
width: 70px;
height: 70px;
}
.center {
background: #fff;
position:fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
js
document.onreadystatechange = function() {
if (document.readyState !== "complete") {
document.querySelector(
"body").style.visibility = "hidden";
$('#page-overlay').animate({opacity: 0}, 1000);
document.querySelector(
"#loader").style.visibility = "visible";
} else {
document.querySelector(
"#loader").style.display = "none";
document.querySelector(
"body").style.visibility = "visible";
}
};
所以基本上 1) 将 #loader
插入 HTML 中的 #page-overlay
2) 将动画应用到 JS 中的 $('#page-overlay')
。这里有一个fiddle的概念:https://jsfiddle.net/kyb4mezh/
这将使页面有效过渡。您甚至可以更进一步,为加载器容器添加固定的不透明度。
我已经实现了这个加载图标,它运行良好并且显示在页面的中央,这很好。我已经添加了一个额外的脚本来淡出图标,而不是它突然改变,这很有效,但白色背景的变化仍然非常突然。
我想知道如何更改以下脚本以允许白色背景淡出页面内容和图标。
<style>
#loader {
width: 70px;
height: 70px;
}
.center {
background: #fff;
position:fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
</style>
<div id="loader" class="center"> <i class="fa fa-spinner fa-5x fa-spin" style="color:#118F5E"></i></div>
<script>
document.onreadystatechange = function() {
if (document.readyState !== "complete") {
document.querySelector(
"body").style.visibility = "hidden";
$('#loader').animate({opacity: 0}, 1000);
document.querySelector(
"#loader").style.visibility = "visible";
} else {
document.querySelector(
"#loader").style.display = "none";
document.querySelector(
"body").style.visibility = "visible";
}
};
</script>
您可以稍微扩展一下现有的内容,然后将加载器放在覆盖容器中。
html
<div id="page-overlay" class="center">
<div id="loader" class="center"> <i class="fa fa-spinner fa-5x fa-spin" style="color:#118F5E"></i></div>
</div>
css
#loader {
width: 70px;
height: 70px;
}
.center {
background: #fff;
position:fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
js
document.onreadystatechange = function() {
if (document.readyState !== "complete") {
document.querySelector(
"body").style.visibility = "hidden";
$('#page-overlay').animate({opacity: 0}, 1000);
document.querySelector(
"#loader").style.visibility = "visible";
} else {
document.querySelector(
"#loader").style.display = "none";
document.querySelector(
"body").style.visibility = "visible";
}
};
所以基本上 1) 将 #loader
插入 HTML 中的 #page-overlay
2) 将动画应用到 JS 中的 $('#page-overlay')
。这里有一个fiddle的概念:https://jsfiddle.net/kyb4mezh/
这将使页面有效过渡。您甚至可以更进一步,为加载器容器添加固定的不透明度。