2011-10-28 16 views
7

Arka plan görüntüsü TAMAMEN yüklendikten sonra bir olayı tetiklemek istiyorum. Görüntü, dinamik bir PHP betiğinden yapılmıştır.CSS arka plan görüntüsü tamamen yüklendiğinde JQuery bağlama olayı

$("#box").css("background-image","url(image.php)"); 

belki bir görünmez <img> ve ne zaman görüntü yükte görüntü elde etmek için deneyebilirsiniz (.Load()) o görünmez <img> ait src ile Arka plan resmi ayarlamak? emin değilsiniz ...

Yardımlarınız için teşekkür ederim.

cevap

10

Sen

var image = 'image.php', 

    img = $('<img />'); 

img.bind('load', function() { 
    // Background image has loaded. 
}); 

img.attr('src', image); 

$('#box').css('background-image', 'url(' + image + ')'); 
+0

Neden bu hatayı aldığımı biliyor musunuz: Hata: $ .isPlainObject bir işlev değil mi? (image.php her dediğimizde yeni bir görüntü oluşturduğunu unutmayın) – pelelive

+0

@pelelive alex

+0

teşekkürler alex şu an çalışıyor. şerefe! – pelelive

-1
$("#box img").load(function() { 
    //the image elements in #box are fully loaded. 
}); 
+4

Bu ...

$("#box").css("background-image", "url(image.php)").waitForImages({ waitForAll: true, finished: function() { // Background image has loaded. } }); 

Aksi halde, elle yapmak ... bu konuda yardım edeceğini benim jQuery eklentisi waitForImages denilen kullanabileceği bir 'Geçmiş- image', bir 'img' elemanı değil. – alex