У меня есть следующий класс 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;
Передайте класс блоку div с видимостью: скрытый
при начальной загрузке страницы. Таким образом, он уже будет в кеше браузера, когда вы назначите класс ячейке таблицы.
@ Джейми Диксон - он не сказал он хотел сделать что-нибудь с фоновым изображением, просто знайте, когда оно загружено ...
$(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" )
);
}
);
Обычно выбирают фоновое изображение и проверяют его, чтобы увидеть, что оно загружено.