如何在页面加载时显示加载 gif,使其再显示 1 秒,然后在页面加载并且 1 秒过去后,相同的加载 gif 将淡出并且主要的#content 会淡入?
编辑:谢谢大家的回答,我已经成功了!这是最终产品:http: //invisiblelabs.net/wf/
谢谢!
如何在页面加载时显示加载 gif,使其再显示 1 秒,然后在页面加载并且 1 秒过去后,相同的加载 gif 将淡出并且主要的#content 会淡入?
编辑:谢谢大家的回答,我已经成功了!这是最终产品:http: //invisiblelabs.net/wf/
谢谢!
html:
<body>
<div id="divload">
<img src="loading.gif" />
</div>
<div id="divcontent" style="visible: none">
...
</div>
</body>
脚本:
$(function() {
$('#divload').delay(1000).fadeOut();
$('#divcontent').delay(1000).fadeIn();
});
首先,您的 gif 将是可见的,内容是不可见的。页面加载完毕并额外延迟 1 秒后,gif 将淡出,内容将淡入。
快速/坏的方法:
$(window).load(function(){
setTimeout(function(){
$('#content').fadeIn();
$('#loading-image').fadeOut();
},1000);
});
在现代浏览器中,有一种更好的方法,它使用 JavaScript 进行状态切换,以及 CSS 来执行实际动画。
更好的方式(css,第 1 部分):
#content{ opacity:0 }
#loading-image{ opacity:1; }
#content, #loading-image
{
-webkit-animation:opacity 1s 1s;
/* Note... example only specifies Webkit. You should do the same for -moz, -ms, etc*/
}
body.loaded #loading-image { opacity:0;}
body.loaded #content {opacity:1}
更好的方式(js,第 2 部分):
$(window).load(function(){
$('body').addClass('loaded');
});