PHP가 큰 div를 출력하는 페이지가 있는데, 내부에 많은 구성 요소가 있습니다. 그 div를 처리 할 JS가 거의 즉시 시작되지만 bigDiv 로딩과 관련된 타이밍 문제와이를 처리하는 스크립트가 있습니다.jquery .ready() 함수가 대기하는 데 걸리는 시간은 얼마입니까?
그래서,이 같은 코드가 bigDiv
표시하는 데 시간이 오래 걸리는 경우
var bigDiv = $(document).find('#bigDiv');
bigDiv.ready(function{
//some code here
});
지금 내 질문에, 얼마나
ready()
기능 대기 않습니다()가 준비가 그것을 처리하기 위해 적용?
bigDiv
이 전혀 나타나지 않으면 어떻게됩니까? bigDiv의 콘텐츠 길이가 0보다 경우 내가 볼려고 처음
var waitTimer = 0;
var lodTmout = 2000;
function chkDataLod(){
var bigDiv = $pH(document).find('#bigDiv');
if(bigDiv.length > 0){//find if bigDiv has content
bigDiv.ready(function(){//wait for bigDiv to load it's contents completely
//some code here
});
}else{
//chk for bigDiv after every 500 msec for 2000 msec
if(waitTimer === lodTmout){
return false;
}else{
waitTimer += 500;
setTimeout('chkDataLod();',500);
}
}
};
function _init(){
chkDataLod();
}
_init();
: 그래서
기다리고 스크립트를 피하기 위해, 내가 타임 아웃을 적용,
따라서 나는이 같은 다른 접근 방식을 선택했다 . '불완전하게로드 된'bigDiv가 표시 될 때 문제가 발생했습니다. 그래서 다시 .ready()
함수를 추가했습니다. 완전히로드 될 때까지 시작하지 않으려는 bigDiv에 애니메이션 기능이 있습니다.
이 bigDiv
은 CDN에서로드되므로로드 타이밍이 다양합니다. 하루는로드하는 데 약 5 초가 걸렸습니다. 내 자신의 접근법을 보면 문제가 있다는 것을 안다. 나는 setTimeout과 ready를 사용하고있다. 그러나 나는 준비가 어떻게되어 있는지를 확신 할 수 없다. 나는 그것의 문서를 보려고했지만 그것을 명확하게 찾을 수 없었다.
어떻게하면이 문제를 해결할 수 있습니까 ??
이 div는 ajax를 통해로드되고 있습니까? 왜 jquery document.ready를 사용하여 이것을 처리하지 않는지 나는 명확하지 않습니다. – kinakuta
"$ (문서) .ready (함수() {});" 모든 페이지 컨트롤이 생성 된 후에 시작할 수 있습니다. 그러나 브라우저에서 다른 이야기를 렌더링하는 것에 대해 이야기하고 있다면 –
@kinakuta - IT가 로딩되는 즉시 bigDiv를 보여주기 때문에 document.ready()를 사용할 수 없습니다. 너무 많은 시간이 걸릴 수 있으므로 전체 페이지가로드 될 때까지 기다릴 수 없습니다. – Shades88