2012-11-19 4 views
-1

을 실행하기 전에로드 된 이미지의 숫자를 기다리는 나는로드 된 이미지의 누계에 사용되는 숨겨진 div 태그가 :스크립트

<div id="ImagesLoaded">0</div> 

이미지 페이지가 8 개 이미지를로드 실행, 모든 onload은 'ImagesLoaded'에 1을 더합니다. 일부 이미지는 다른 이미지보다 클 수 있으므로 페이지로드 시간이 다를 수 있습니다. 'ImagesLoaded'가 8 일 때 이미지의 크기와 방향에 따라 화면을 조정하는 스크립트를 실행하고 싶습니다.

제가 알고 싶은 것은 이것입니다 : 어떻게로드 된 이미지를 100 밀리 초마다 검사하는 백그라운드에서 스크립트를 실행할 수 있습니까? 8 개의 이미지가있을 때 양을보고 멈추고 다른 스크립트를 실행해야합니다.

아이디어가 있으십니까?

+1

왜 대신 img.onload' 핸들러'에서 수표를 만들 수없는 이유는 무엇입니까? – raina77ow

답변

4
onLoad = "addOneToImagesLoaded();" 

과 JS :

function addOneToImagesLoaded(){ 
     current_count = parseInt(getElementById('ImagesLoaded').innerHTML); 
     current_count = current_count+1; 
     getElementById('ImagesLoaded').innerHTML = current_count.toString(); 
     if (current_count == 8){ 
      YOUR LOGIC GOES HERE 
     } 
} 
+0

나에게도 거기에 추가 했습니까? 훌륭한 일을 ..! 많은 감사합니다! – neojakey

2

당신은 setInterval 사용할 수 있습니다

var imageInterval = setInterval(checkingFunction, 100); 

function checkingFunction() 
{ 
    if (count == 8) 
    { 
     // do what you want to do 
     clearInterval(imageInterval); 
    } 
} 

가 또는 당신은 온로드 핸들러에서 다음과 같이 함수를 호출 할 수 있습니다 두 예에서

function imageLoaded() 
{ 
    count++; 
    if (count == 8) 
    { 
     // do what you want to do 
    } 
} 

을 내가 아닌 count 전역 변수를 사용하고 있습니다 div 요소를 사용하여 값을 저장합니다.