2011-09-15 5 views
1

사용자가 탭 사이를 전환하면 즉시 탭을 기반으로 콘텐츠를로드하고 싶습니다 ... 탭을 클릭하면 새 페이지가로드되지만 이전 페이지가 표시됩니다 새 것이로드되기 전에 0.5 초가 걸리므로 이상하게 보입니다. 내가 뭘 잘못하고 있는거야? 고마워요 :)jquery 지연 문제

나는로드()에 어떻게 든 문제가 있다고 생각합니다.(). fadeIn()하지만 내가 읽은 바로는 어떤 지연없이 즉시 가야합니다 ... 그것은 내 로컬 호스트에서 원활하게 작동하기 때문에 이상합니다. ,하지만 hostgator에서 다른 탭을 클릭하면 지연이 있습니까?

답변

1

load()은 비동기이므로 호출 할 때 즉시 반환됩니다. 이것은 아마도 이전 내용의 문제를 일으키는 원인 일 것입니다.로드가 완료되기 전에 이전 버전의 내용을 숨기고 사라지는 것입니다. 숨기기/실행 페이드 있도록 부하과 같이 finshed 후에 당신은 load()에게 콜백을 전달할 수 있습니다

$('#populate').load('advanced.php', function() { 
    $('#populate').hide().fadeIn(); 
}); 
+1

+1 또한, 하나의 방법은 beforeSend''의 옵션'ajax'을 사용하는 것입니다. 따라서 일종의로드 아이콘이 표시됩니다. –

+0

좋은 지적입니다. 나는'.load()'가 정상적인 페이지로드와 같이 브라우저 스피너를 회전 시키지만, 사용자에게 더 많은 피드백을주고 싶다면'beforeSend'에 넣는 것이 좋은 방법이라고 생각한다. –