2011-10-28 4 views
7

백그라운드 이미지가 완전히로드 된 후 이벤트를 트리거하고 싶습니다. 이미지는 동적 인 PHP 스크립트로 만들어집니다.CSS 배경 이미지가 완전히로드 될 때 JQuery 바인드 이벤트

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

어쩌면 나는 보이지 않는 <img> 때 이미지로드의 이미지를 얻기 위해 시도 할 수 있습니다 (.load()) 이 보이지 않는 <img>의 SRC와 배경 이미지를 설정? 확실하지 않음 ...

도움에 감사드립니다.

답변

10

당신은

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

이 오류가 발생하는 이유를 알고 계십니까? 오류 : $ .isPlainObject가 함수가 아닙니다. (image.php가 호출 할 때마다 새 이미지를 생성합니다) – pelelive

+0

@pelelive alex

+0

알렉스에게 감사드립니다. 건배! – pelelive

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

그것은이다 ...

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

그렇지 않으면, 수동으로 할 ...이 도움 것이라고 내 jQuery 플러그인이 waitForImages라고 사용할 수있는 '배경 - 이미지 '가 아니라'img' 엘리먼트입니다. – alex

관련 문제