2012-10-01 2 views
0

요소가로드 될 때까지 기다릴 수있는 더 쉬운 방법이 있습니다 (독립 스크립트/mootools/other에 의해). 예 :요소에 대한 jQuery setTimeout 지연

Google지도가로드되기를 기다리고 있지만 확인을 위해 API를 사용하고 싶지 않습니다. 내가 reload(1);로 시작하고

function checkIfexist() { 
    if(jQuery('#container').length) 
     return 0; 
    else 
     reload(1); 
} 

function reload(mode) { 
    setTimeout(function(){ 
     do stuff 
      . 
      . 
      . 
     if(mode==1) 
      checkIfexist(); 
    }, 400); 
} 

방식으로의 setTimeout을 사용하는 쉬운 방법이 있나요 : 그래서 두 가지 기능을했다? 지연, 기다림 등을 사용하고 싶지 않습니다. 모든 동시 아약스 요청이 끝나면 그냥 직접 사용할 수 있도록

+0

왜 맵로드 완료를 확인하기 위해 구글지도 API를 사용하지 않을까요? – iambriansreed

+0

이것은 Google Map API에만 국한되지 않기 때문에 모든 종류의 AJAX 요청에 사용되며 otside 사이트 스크립트에서도 수행됩니다. 가장 좋은 방법은 setTimeout을 사용하고로드 된 경우 잠시 후에 확인하는 것입니다. 때때로 jQuery 함수는 DOM에 대한 외국 API에 대해 좋은 결과를 제공하지 않습니다. – Trouble

답변

1

.ajaxStop() 화재는, 예를 들어 :

$(function(){ 
    $(document).ajaxStop(function() { 
     // all ajax is done 
    }); 
}); 
+0

고마워요 :) 이것은 jQuery에서 작동합니다. 자바 스크립트/mootools를 사용하여 페이지를로드 한 후에 요소를 삽입하면 어떻게 될까요? – Trouble

+0

@Trouble 그런 다음 [ajaxStart] (http://api.jquery.com/ajaxStart/)를 사용하십시오. :) – iambriansreed