如何validation后台(css)图像已加载?

我有以下CSS类

.bg { background-image: url('bg.jpg'); display: none; } 

我正在申请TD标签。

我的问题是如何用JavaScript / jQuery告诉背景图像是否已完成加载?

谢谢。

更新:添加了显示属性。 由于我的主要目标是将其切换到视图中。

我知道这样做的唯一方法是使用Javascript加载图像,然后将该图像设置为背景。

例如:

 var bgImg = new Image(); bgImg.onload = function(){ myDiv.style.backgroundImage = 'url(' + bgImg.src + ')'; }; bgImg.src = imageLocation; 

将类提供给具有visibility:hidden的div visibility:hidden在初始页面加载时visibility:hidden 。 这样,当您将类分配给表格单元格时,它已经存在于浏览器缓存中。

@Jamie Dixon – 他没有说他想对背景图片做任何事情,只知道什么时候加载……

 $(function( ) { var a = new Image; a.onload = function( ){ /* do whatever */ }; a.src = $( 'body' ).css( 'background-image' ); }); 

本文可能对您有所帮助 。 相关部分:

 // Once the document is loaded, check to see if the // image has loaded. $( function(){ var jImg = $( "img:first" ); // Alert the image "complete" flag using the // attr() method as well as the DOM property. alert( "attr(): " + jImg.attr( "complete" ) + "\n\n" + ".complete: " + jImg[ 0 ].complete + "\n\n" + "getAttribute(): " + jImg[ 0 ].getAttribute( "complete" ) ); } ); 

基本上选择背景图像并进行检查以查看它是否已加载。

您还可以提供一个简单地用div / background替换img标记的函数,这样您就可以从onload属性和div的灵活性中受益。

当然,您可以根据需要微调代码,但在我的情况下,我还要确保保留宽度或高度,以便更好地控制我的期望。

我的代码如下: