2009-05-01 6 views
1

아약스 요청에서 html을로드 중이며 일부 img 태그가 들어 있습니다.아약스로드 된 콘텐츠가 이미지로드를 완료하면 어떻게 알 수 있습니까?

아약스에로드 된 이미지가 컨테이너의 크기를 조정하기 위해 완전히로드 될 때를 알아야합니다. 얼마나 많은 이미지가 결과에 있는지 알 수 없으므로 .complete 값을 단순히 확인할 수는 없습니다.

해결 방법을 알고 계십니까?

감사합니다.

레안드로

답변

1

당신이 jQuery를 사용하는 경우 모든 이미지가로드되면 다음과 같은 기능을 설정할 수 있습니다 $(window).load() 명령은 호출되는 : 당신이

$(window).load(
    function() { 
     // weave your magic here. 
    } 
); 

을 사용하지 않는 경우 jQuery, 나는 단지 내가 할 때 한 일을 할 것이다. bit of its functionality : 그것을 다운로드하고 그것을 어떻게하는지보기 위해 소스를 검사하라. 그럼 :-)

+2

글쎄, 아약스는 사용자가 이미지를 요청할 때 이미지를로드합니다. 그 후 많은 콘텐츠가로드됩니다. 요소에서 .load() 함수를 사용할 수 있습니까? 어쩌면 컨테이너에 그 이벤트를 연결할 수 있습니다. –

0

XMLHTTP 요청에는로드가 완료된 시점을 결정하는 데 사용할 수있는 속성이 있습니다. javascript를 직접 사용하는 경우 onreadystatechange 이벤트에 함수를 지정해야합니다. 이는 상태가 변경 될 때마다 호출됩니다. 상태는 readyState가에 저장되어 있습니다 : 0을 거치지 않은 1을 3 인터랙티브 부하로드 2 4 전체

함수에서

당신이

JQuery와이 필요한 다른 기능 상태가 4 확인 및 통화 어떤 일이 언제 일어 났는지 알려주는 사건. View the AJAX Documentation

+1

예, 결과 아약스 요청의 이미지가로드 될 때 이벤트가 발생하지 않습니다. .load()가 해결책입니다. 어쨌든 고마워, . –

0

감사합니다. Pax 덕분에 해결책을 찾았습니다.

 

$('img', this).load(function() { 
    resize_element(this); 
}); 
 

감사 둘 : 아약스 요청의 성공 이벤트에

은 (jQuery를 사용하여), 다음 코드를 추가했습니다!

관련 문제