2017-11-03 1 views
0
$.ajax('html url') 
    .done(function(response) { 
      var resultHtml = $(response).find("#content").children(); 
       $("#content").html(resultHtml);      
       $(document).height();    
    }) 

여기 응답의 문서 높이를 계산해야합니다. 그러나이 응답에는로드하는 데 시간이 걸리는 여러 이미지가 포함되어 있습니다. 따라서 문서 높이는 필요한 것보다 적습니다. 이모든 이미지가 완료되면 함수를 호출하십시오.

$('img').load(function(){ 
    $(document).height(); 
}); 

처럼 그러나이 경우도이 작동하지 않습니다 -

나는 이미지를 JQuery와로드 기능을 사용했습니다. 그러나 이미지에 자바 스크립트 완료 메소드를 사용하면 올바른 높이 (단일 이미지)를 반환합니다.

document.getElementById("#image1").complete{ 
    $(document).height(); 
} 

그러나 내 응답에는 여러 이미지가 포함되어있어 getElementById는 작동하지 않습니다. jquery를 사용하여이 작업을 수행하려고합니다.

답변

0

은 JS에

var images= document.images, 
length = images.length, 
cnt = 0; 

[].forEach.call(imgs, function(images) { 
    images.addEventListener('load', incrementCounter, false); 
}); 

function incrementCounter() { 
    cnt++; 
    if (cnt=== length) { 
     console.log('All image load'); 
     $(document).height(); //your code 
    } 
} 
0

사용이 시도 :

$("img").imagesLoaded(function(){ 
//do something here, it will run after image loaded, but please attention about browser cache 
}); 

그것은 imagesLoaded.js가 https://imagesloaded.desandro.com

+0

외부 라이브러리에 체크 아웃을 사용! – Aditya

관련 문제