2012-07-09 3 views
0

웹 페이지에서 데이터를로드하기 위해 ajax 함수를 호출하는 동안 로그인 페이지가 표시되고 회자 표시가 완료되면 chagePage가 호출되고 모든 회 전자가로드됩니다. 나는 다른 질문들로부터 타임 아웃을 얻었는데, 디버깅을하고 발판을 밟았지만 살아 있지 않다면 작동한다. 나는 또한 Ajax를 보내기 전에 시험해 보았습니다.JQuery Mobile showPageLoadingMsg()

$('#loginButton').live('click',function(e){ 
    $.mobile.showPageLoadingMsg(); 
    setTimeout(initialLogin(),300); 
}); 

감사합니다. 그것은 지금 잘 작동하고

$(document).ajaxStart(function() { 
    $.mobile.showPageLoadingMsg(); 
}).ajaxStop(function() { 
     $.mobile.hidePageLoadingMsg(); 
    }); 
+0

'initialLogin()'함수의 코드는 무엇입니까? – Jasper

+0

그냥 몇 가지 텍스트 유효성 검사 및 다음 ajax 함수를 호출하면 단계를 통과 할 때 숨겨진 된 것처럼 hidePageLoadingMsg()있는 모든 방법으로 회 전자 표시합니다. 타임 아웃을 5000으로 설정해도 5 초 동안 그 자리에 앉아서 스피너를 표시하지 않습니다. – Jason

+0

'initialLogin()'함수의 코드를보고 싶은 이유는 이것이 필요 이상으로 복잡해질 가능성이 높기 때문입니다. 'changePage' 함수는로드 메시지 자체를 보이거나 숨길 수 있습니다. – Jasper

답변

1

을 사용하고 설정입니다 사실이며 성공 영역의 객체를 채 웁니다.

+0

여전히 예상대로 작동하지 않습니다. 다시 한 번 디버깅 중에 중지하면 이벤트 체인에 넣는 것이 중요하지 않습니다. changePage가 매우 빠르게 발생하지 않고 페이지 UI가 새로 고쳐지기 전에이를 숨 깁니다. – Jason

0

, 나는에 비동기 아약스을 설정

if(success){ 
//Load home page 
    $.mobile.changePage("#second"); 
    loadList(); //loads listview 
} 

은 참고로 여기에서 당신은 다음과 같은 다양한 그것을 응용 프로그램을 사용할 수 있습니다 내가

$(document).bind("mobileinit", function(){ 
$.mobile.defaultPageTransition = 'none'; 
$.mobile.buttonMarkup.hoverDelay= 250; 
$.mobile.allowCrossDomainPages = true; 
$.support.cors = true; 
$.mobile.pushStateEnabled = false; 
$.mobile.orientationChangeEnabled = true; 
});