加载页面显示三秒
loading page shows for three seconds
我正在制作个人作品集,想显示我的网站标语大约 3 秒(全屏),然后淡出以显示实际网站。什么代码用于显示一些初始 div 然后淡出到实际网站?
这适用于 setTimeout()
。 3000 毫秒后,我们将 class hidden
添加到将隐藏它的 "loading element" 中。您可以自定义 classes 以实现其他类型的动画。例如,现在动画设置为 运行 500 毫秒。
setTimeout(function() {
$('#loading').addClass('hidden');
}, 3000);
#loading{
position:fixed;
top:0;
left:0;
right:0;
bottom:0;
background-color: gray;
color: white;
opacity: 1;
transition: 0.5s;
visibility: visible;
}
#loading.hidden{
opacity: 0;
visibility: hidden;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="loading">Loading site...</div>
<div id="site">
<h1>My site</h1>
<p>Lorem ipsum</p>
</div>
如果您更喜欢常规 javascript,您可以这样做:
setTimeout(function() {
var element = document.getElementById('loading');
element.classList += " hidden";
}, 3000);
在 HTML 文档的底部,添加一个固定的 div:
<div class="fixed">Tagline...</div>
然后将其固定并填充100% CSS:
.fixed {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
所以,现在您将标语元素置于其他所有元素之上。您需要做的最后一件事是在 3 秒后淡出该元素。这可以通过 jQuery 轻松实现,例如:
setTimeout(function() {
jQuery('.fixed').fadeOut();
}, 3000);
仅此而已
我使用 CSS3 keyframes/animation.
制作了一个仅 CSS 的版本
HTML:
<div id="websiteOverlay">
"Some tagline"
</div>
<div class="container">
<h1>
Website content header
</h1>
<p>
Website content body, with some paragraphs
</p>
</div>
CSS:
@-webkit-keyframes fadeOut {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@keyframes fadeOut {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
#websiteOverlay {
text-align: center;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: black;
color: white;
opacity: 0;
-webkit-animation: fadeOut 3s;
animation: fadeOut 3s;
}
Fiddle: https://jsfiddle.net/9z6ow28m/
我正在制作个人作品集,想显示我的网站标语大约 3 秒(全屏),然后淡出以显示实际网站。什么代码用于显示一些初始 div 然后淡出到实际网站?
这适用于 setTimeout()
。 3000 毫秒后,我们将 class hidden
添加到将隐藏它的 "loading element" 中。您可以自定义 classes 以实现其他类型的动画。例如,现在动画设置为 运行 500 毫秒。
setTimeout(function() {
$('#loading').addClass('hidden');
}, 3000);
#loading{
position:fixed;
top:0;
left:0;
right:0;
bottom:0;
background-color: gray;
color: white;
opacity: 1;
transition: 0.5s;
visibility: visible;
}
#loading.hidden{
opacity: 0;
visibility: hidden;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="loading">Loading site...</div>
<div id="site">
<h1>My site</h1>
<p>Lorem ipsum</p>
</div>
如果您更喜欢常规 javascript,您可以这样做:
setTimeout(function() {
var element = document.getElementById('loading');
element.classList += " hidden";
}, 3000);
在 HTML 文档的底部,添加一个固定的 div:
<div class="fixed">Tagline...</div>
然后将其固定并填充100% CSS:
.fixed {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
所以,现在您将标语元素置于其他所有元素之上。您需要做的最后一件事是在 3 秒后淡出该元素。这可以通过 jQuery 轻松实现,例如:
setTimeout(function() {
jQuery('.fixed').fadeOut();
}, 3000);
仅此而已
我使用 CSS3 keyframes/animation.
制作了一个仅 CSS 的版本HTML:
<div id="websiteOverlay">
"Some tagline"
</div>
<div class="container">
<h1>
Website content header
</h1>
<p>
Website content body, with some paragraphs
</p>
</div>
CSS:
@-webkit-keyframes fadeOut {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@keyframes fadeOut {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
#websiteOverlay {
text-align: center;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: black;
color: white;
opacity: 0;
-webkit-animation: fadeOut 3s;
animation: fadeOut 3s;
}
Fiddle: https://jsfiddle.net/9z6ow28m/