2014-10-03 6 views
0

나는 대부분 긴 이미지의 페이지가 상당히 있습니다. 그것은 별도의 HTML 페이지로 나뉘어져 있으며, 사용자가 페이지의 맨 아래에 다다르면 JQuery .load()을 사용하여 다음 페이지를 가져옵니다 (무한 스크롤).동적으로로드 된 내용을 Jquery로 위치 지정

그러나이 콘텐츠를로드 할 때 약간의 문제가 있습니다. 내 모든 이미지 (다양한 이유로)는 Jquery 함수를 사용하여 배치됩니다.

내가 .load()에 콜백에서이 함수를 호출하고 $(document).ajaxComplete()를 사용하여 시도했다 있지만,이 기능은 가끔이 영향을 미치지 않도록을 많이두고, (즉, 이미지가 제대로로드되기 전에) 너무 빨리 발사하는 것 새로로드 된 이미지를 제자리에 놓습니다.

제가 생각할 수있는 유일한 것은 setTimeout() 또는 다른 것을 사용하는 것이지만 이것은 약간 해킹 된 것 같습니다 ... 더 좋은 방법이 있습니까? 로드 된 컨텐츠를 한 곳에서 다른 곳으로 이동하기 때문에 문제가 발생했을 것입니다.

여기 내 로딩 코드의

...
$('#load-area').load(content_to_load, function() { 
     var loaded_content = $('#load-area').html(); 
     $('#load-wrapper').append(loaded_content); 
     $('#load-area').empty(); 
     $('#loading2').hide() 
}); 

는 기능이 내용이 완전히로드 될 때 감지하고 발사 할 수있는 방법이 있나요?

답변

0

"는 이연 개체가 해결 될 때 호출되는 핸들러를 추가합니다."() 이벤트 핸들러

되는 .done 시도 여기

출처 : http://api.jquery.com/deferred.done/

+0

.done()은 내가 볼 수있는 .load()와 작동한다고 생각하지 않습니다. – Jacob

0

나는 당신이에로드 할 질문 한 내용에 다시) .load을 (사용할 수 있습니다 생각 기능 장소는 후 실행하려는 APPEND 및 기타 기능 내부. 내용이로드되었습니다. 그게 작동하는지 확인하십시오.

$('#content-loaded-in').load(function{ 
    //code to be run after completely loaded 
}); 
+0

이것은 매우 논리적으로 보입니다. 불행히도 .load() 이벤트가 올바르게 실행되지 않는 것 같습니다. – Jacob