2012-07-31 67 views
2

我正在寻找一种方法来加载背景图像(CSS),就好像它们在加载时出现一样,而不是“滚动”。我宁愿让一张图像在一次闪现后300毫秒出现,而不是让它看起来像一个坏的PowerPoint效果。防止逐行扫描(逐行)加载背景图像

任何技术或可以使用的特定代码(除了缓存)?

感谢,

+0

多大的图像?如果图像是1mb +,我完全可以看到发生这种情况。 – 2012-07-31 13:49:45

+0

有8张图片,都是+/- 60Kb – jonasll 2012-07-31 14:18:57

+0

Waoh,这些都很小,你看到图像扫描线的连接速度有多快? – 2012-07-31 14:30:56

回答

0

首先,如果您的图片出现在“滚动”的图片中,它就太重了。

存在不同的程序或网站,以减少您的图像的网站(不失去质量) 为样本,Yahoo SMUSH.IT!是好的!

后,我不知道是否存在的方法,下载后出现的背景图像...也许在JavaScript ...

1

基本上你需要要么隐藏在初始加载的元素,或者有没有背景在CSS中,加通过JavaScript的图像,然后应用CSS背景在onload每个图像的事件。

CSS本身不能做到这一点。

1

为你的页面顶部隐藏您可以加载图像,所以当你稍后将它放入DOM时,它就是一个缓存副本。或者,您可以在其上放置隐藏属性,并在300毫秒计时器后隐藏。后者会以更确定的方式做你想要的,但这取决于你的观众的网络速度。使用

3

的jsfiddle http://jsfiddle.net/9fFKT/3/

$("#bg").hide(); 
$('#bg').load(function(){ 

    $('#bg').show(); 
}); 

jQuery的你可以隐藏,直到它的负荷和一次显示它的加载

+0

扩展版本:你可以做到这一点,例如当大bg加载时放一些压缩和更小版本的bg图像,并且在加载大bg图像完成时交换背景。 – 2012-07-31 13:55:29

+0

重要的是要注意,这个解决方案是使用jQuery。 – 2012-07-31 13:59:49