2012-07-03 46 views
0

好的,所以我听说JS无法触发CSS背景图像加载事件。所以,我看到一些人提出的建议是,在img标签加载时触发事件。但你显然需要隐藏这张图片,以免它被显示出来?jQuery触发图像加载(隐藏图像)

你需要把这个图像放在你的页面上的某个地方,然后做一些事情:display:none css?

否则,它显然是不希望看到一个漂亮的大图像...

我还以为至多一半,如果它是显示体面的浏览器将不会加载图像:无; 。或者JS可以将图像加载到缓存中,而HTML完全不知道它?

我错了吗?......如果是这样的话,那就是生活中那些错误真棒的罕见时刻之一。

不能等待HTML6。也不能等到没有人像往常一样支持它,然后成为又一个愤世嫉俗的白痴,再一次摇摆了5年。

回答

2

显示无实际上可能不加载图像,这完全无效,你想完成。

您可以轻松地将图像添加到“缓存”中。

var myImage = new Image(); 
    myImage.onload = function(){ 
     // What you want to do! 
    }; 
    myImage.src = 'myimage.png'; 
+0

这是跨浏览器/跨宇宙兼容吗? – 3Dom

+0

此外,这将停止进一步的HTTP请求的背景图像?似乎不会,但会有兴趣听到你的经验。 – 3Dom

+0

跨浏览器:无法记住它不适用于任何现代图形浏览器。如果它会停止其他http请求取决于浏览器。某些浏览器非常高效/智能,而其他浏览器则不是。我从来没有测试过这个。如果可用的话,它至少会使用缓存。 –