2012-11-03 8 views
2

가능한 복제를 완료 여부를 확인 :
Browser-independent way to detect when image has been loadedjQuery를이 : 이미지로드를

이미지가 완전히 클라이언트가 다운로드 된 경우 내가 사용할 수 있도록 내가 확인 어떻게

<script type="text/javascript"> 
function doSomething(){ 
//doing something already 
    if(image has finished loading) { 
     alert("The image has been downloaded"); 
    } 
    else { 
     //do something else 
    } 
} 
</script> 

당신에게

감사합니다 같은 형식으로3210
+0

확인이 링크는 당신을 도울 수 있습니다 http://stackoverflow.com/questions/821516/browser-independent-way-to-detect-when-image-has-been -loaded – Rahul

답변

2

당신은 load를 사용할 수 있습니다

$img.load(function() { 
    // image is loaded 
}); 

문제가 발생하면

는, window.load 대신 document.ready에 코드를로드합니다.

+1

로드 된 함수를 실행하고 싶지 않습니다. 난 그냥 이미지가로드 된 경우 확인하고 싶습니다 –

+1

다음 당신은 부울을 설정할 수 있습니다. – elclanrs

+0

완전 정확하지 않음, 깨진 이미지 참조 http://jsfiddle.net/WSvTa/ –

0
<span id="result"></span> 
</p> 

<script type="text/javascript"> 

    $('#image1') 
    .load(function(){ 
     $('#result').text('Image is loaded!'); 
    }) 
    .error(function(){ 
     $('#result').text('Image is not loaded!'); 
    }); 

</script> 
1

그런 일을 시도 : - 전용로드 기능 콜백을 사용하여

<script type ="text/javascript"> 
    var imageLoaded = false; 

    $(document).ready(function(){ 

     $("img").load(function(){ 
      imageLoaded = true; 
     }); 
    }); 


    function doSomething(){ 
     //doing something already 
     if(imageLoaded) { 
      alert("The image has been downloaded"); 
     } 
     else { 
      //do something else 
     } 
} 

</script> 
0

모든 논문 솔루션은 때로는 부하가 이미 캐시 된 이미지 또는 깨진 것들에 대한 해고되지 않기 때문에 정확하지 않습니다. 가능한 한 간단하게이 동작을 감지하려는 많은 시도가있었습니다. 그리고 제가 말할 수있는 것처럼, Desandro가로드 한 매우 밝게 표시된 이미지를 사용하는 것이 가장 좋습니다.

당신은 여기에서 볼 수 있습니다 https://github.com/desandro/imagesloaded/blob/master/jquery.imagesloaded.js