Событие связывания JQuery, когда CSS background-image полностью загружено
Я хотел бы вызвать событие после того, как фоновое изображение полностью загружено. Изображение сделано из динамического скрипта PHP.
$("#box").css("background-image","url(image.php)");
может быть, я могу попытаться получить изображение в невидимом <img>
и когда загрузка изображения (.load()) устанавливает background-image с помощью src этого невидимого <img>
? Точно сказать не могу...
Спасибо за помощь.
2 ответа
Решение
Вы можете использовать мой плагин jQuery под названием waitForImages, который поможет с этим...
$("#box").css("background-image", "url(image.php)").waitForImages({
waitForAll: true,
finished: function() {
// Background image has loaded.
}
});
В противном случае, сделать это вручную...
var image = 'image.php',
img = $('<img />');
img.bind('load', function() {
// Background image has loaded.
});
img.attr('src', image);
$('#box').css('background-image', 'url(' + image + ')');
$("#box img").load(function() {
//the image elements in #box are fully loaded.
});