2011-10-31 3 views
0

DataTables를 사용하여 테이블의 데이터 세트를 대체 할 때 효과적이지만 때로는 페이지를 다시로드 할 때 간략한 양의 원래 테이블 마크 업을 보여주는 테이블을 감싸는 데 0.5 초가 걸립니다. 시각. DataTables가 테이블 배치를 완료했을 때만 페이지 내용을 표시하는 방법이 있는지 궁금합니다.jQuery DataTables 초기화 지연

답변

1

할 수있는 방법이 몇 가지 있습니다. 가장 쉬운 방법은 다음과 같습니다.

먼저 CSS를 통해 display : none을 사용하거나 마크 업에 인라인 스타일을 사용하도록 표를 설정하십시오. 지금

"fnDrawCallback": function() { 
    $(this).show(); 
} 

실제 테이블이 (머리글과 바닥 글) 위와 아래 가진 div의를 끝 기억 :

는 그런 다음 DataTables 초기화에 테이블을 표시합니다 fnDrawCallback를 사용합니다. 페이지를 새로 고치면 테이블 자체가 새로 고쳐지는 동안 계속 표시됩니다. 그냥 모든 것을 숨기고 표시하려면 컨테이너 div에 테이블을 래핑하고 나서 $(this).show() 대신 $('.container').show()

+2

고마움. 비슷한 아이디어를 생각해 냈지만'visibility : hidden'을 사용했습니다. 그래서 열이 엉망이되지 않도록 너비 – Victor

+0

좋은 물건. 때로는 비주얼 프리젠 테이션이 준비되는 동안 공간이 "점령"될 수 있다는 것을 잊어 버립니다. 가시성 : 숨겨진 옵션은 내 프로젝트에서 더 자주 고려해야 할 옵션입니다. –

0

body.onload 이벤트 처리기로 이것을 시도하십시오.

+0

을 사용하십시오. 이제 onReady 함수가 있고 onload보다 먼저로드됩니다. 대답에 대해 – Victor