2011-01-27 6 views
1

이 문제를 해결하기 위해 여러 가지 방법을 시도했지만 해결 방법이 없습니다.모달 스크립트가 실행되는 동안 메시지로드 중

기본적으로 페이지가 데이터 테이블로드를로드 할 때 Java에 의해 DOM에 부여되는 큰 데이터 테이블을 가지고 있지만 외부 스크립트 (DataTables @ datatables.net)에 의해 구문 분석되어 기능이 추가됩니다. 격자. 문제는 테이블이 스타일이없는 페이지에 나타나고 데이터 테이블 스크립트의 기능없이 스크립트가 사라지고 다시 실행되면 스크립트가 실행되는 것입니다.

내가하고 싶은 일은 페이지로드시 jQuery를 통해 페이지의 모든 내용을 숨기고 스크립트가 실행되면 표시 한 다음 모달로드 대화 상자를 닫는 것입니다.

내 질문은 : 모든 스크립트가 실행될 때까지 모달을 통해로드 메시지를 실행하는 방법이 있습니까? 테이블에있는 데이터는 꽤 큽니다 (2000 레코드). 컴파일하는 데 약간의 시간이 필요합니다 ....

어떤 도움을 주셔서 감사합니다! 내가 수행하려고 할 것입니다 무엇

+0

표시 할 수 있습니까?/다음과 같은 것을 숨기십시오 : http://jquery.malsup.com/block/ 데이터 테이블에 대한 콜백을 통해? – polarblau

답변

0

은 (는 이미 DOM과 볼의 일부가되어야하지 자바 스크립트로)로드 말한다 모달을 나타 내기

<div style="display:none"> 
    Put datatable here. 
</div> 

같은 숨겨진 요소로 데이터 테이블을로드입니다 콜백에서 무엇 이건 JS 나는 이런 식으로 뭔가를 할 것이다 일을하고있다 : 나는이 일을 생각할 수

function myCallBack() 
{ 
    $('#loadingModal').hide(); 
    $('#dataTableDiv').show(); 
} 
+0

이 문제는 모든 데이터가있을 때까지 페이지가로드되지 않으므로 페이지가로드 될 때까지 모달이 표시되지 않으므로로드 된 테이블이 표시됩니다. – Alex

+0

모달을로드하지 마십시오. 자바 스크립트. 그것의 바로 거기. JS를 사용하여 준비가되면 숨길 수 있습니다. 내 대답을 좀 더 명확하게 변경했습니다. – Jason

0

유일한 방법은 아약스를 통해 그것을 데이터와 모두를로드하는 것입니다. 그런 식으로 매우 빨리 페이지를로드하고 로딩 모달 대화 상자를 표시 할 수 있습니다. 일단 대화를 닫는 데 사용할 수있는 응답을 보낼 테이블에 대한 아약스를 시작하십시오.

관련 문제