2009-09-16 4 views
9

로드 함수가 있고로드하는 동안 div에 코드를 작성하고 완료되면 페이지를 표시하려고합니다. ajaxStart 및 ajaxComplete 이벤트에 대한 약간의 글을 봤지만 구현 방법은 잘 모르겠습니다.jquery를 호출하는 방법 ajaxStart + ajaxComplete

//Load content 
$(".load").click(function(){ 
    $("#content").empty();   
    loadName = $(this).attr("id"); 
    $("#content").load("/content/" + loadName + ".php"); 
    }); 

답변

17

: 여기

여기
$(document).ajaxStart(function(){ 
    $('#content').html("Loading Content..."); 
    }); 

내가 사용하고있는 현재 JQuery와는 ... 그러나, 나는 현재 가지고있는 코드 내에서 구현하는 방법을 잘 내가 사용을 생각하고있는 JQuery와 아니다 단일 div 인 경우로드 메시지/표시기로 내용을 업데이트하려면 다음과 같이하십시오.

$("#content").html('<strong>Loading...</strong>') 
      .load("/content/" + loadName + ".php"); 

나는 에 대한 공통 로딩 표시기가 없으면 ajaxStartajaxStop/ajaxCompleteglobal events을 사용하지 않을 것입니다. 모두 ajax 호출입니다. 즉 다음과 같이 그것을 할 수 있습니다 말했다 다음 loading 요소는 당신이 아약스 통화 중에 공개 할 무엇이다

$("#loading").bind("ajaxStart", function(){ 
    $(this).show(); 
}).bind("ajaxStop", function(){ 
    $(this).hide(); 
}); 

.

+0

가끔씩 그 내용이 너무 빨리로드되어 Loading ...이라는 메시지가 보이지 않습니다. 우리는 어떤 시간 간격을 설정하여 사용자가 뭔가를 볼 수있게합니다 .... – defau1t