我正在使用图像纹理作为背景(这是一个重复的图像),我也使用了一个精灵表。所有这些都是通过CSS加载的。
我尝试使用$(window).load()
在加载后淡入图像,但您仍然可以看到渲染/加载。
我开始认为$(window).load()
仅适用于 DOM 中的图片。
有没有办法检测是否加载了CSS图像?
答案 0 :(得分:0)
您可以使用预加载器隐藏页面上的所有内容,直到所有元素都加载完毕。
HTML
<div id="preloader">
<div id="status"></div>
</div>
<script type="text/javascript">
//<![CDATA[
$(window).load(function() {
$('#status').fadeOut();
$('#preloader').delay(350).fadeOut('slow');
$('body').delay(350).css({'overflow':'visible'});
})
//]]>
</script>
CSS:
#preloader {
position: fixed;
top:0;
left:0;
right:0;
bottom:0;
background-color:#aed0de; /* change if the mask should have another color then white */
z-index:7; /* makes sure it stays on top */
}
#status {
width:400px;
height:418px;
position:absolute;
left:50%; /* centers the loading animation horizontally one the screen */
top:50%; /* centers the loading animation vertically one the screen */
background-image:url(../images/status.gif); /* path to your loading animation */
background-repeat:no-repeat;
background-position:top;
margin:-209px 0 0 -200px; /* is width and height divided by two */
text-align:center;
text-transform:uppercase;
font-size:1.6em;
font-weight:bold;
letter-spacing:0.1em;
color:#3d6a7c;
text-shadow: 4px 4px 2px rgba(150, 150, 150, 0.3);