2016-06-28 1 views
-1

현재 행 등을 테이블에 추가 한 다음 반환하여 jQuery를 사용하여 테이블을 생성하고 있습니다. 생성되는 테이블을 표시 할 방법이 있습니까? 그래서 기본적으로 그것을 채우고 진행 상황을 보여주는 방법으로 사용합니다.생성 된 테이블 생성을 표시 하시겠습니까?

ui.generate_tabs('content-tabs', content_container, domain_list, function(domain_id) { 
       var table = jQuery('<table><thead><th>Backbone</th><th>Sequence</th></thead></table>'); 
       var tbody = jQuery('<tbody/>'); 
       table.append(tbody); 

       var show_table = function(table) { 
        console.log(table); 
        return table; 
       } 

       for (let aacid of utils.map_iterkeys(aacid_str)) { 
         var tr = jQuery('<tr/>'); 
         tbody.append(tr); 
         tr.append(jQuery('<td/>').text(aacid)); 
         tr.append(jQuery('<td class="single-line-td"><code>' + aacid_str[aacid] + '</code></td>')); 
         show_table(table); 
       }; 

       // // Job done 
       progress_indicator.remove(); 
       return table; 
+0

노력을 보여주십시오. 이것은 소스 작성 서비스가 아닙니다. 또는 구글 좀 더 열심히; 밖에 많은 예제가 있습니다. –

+0

코드를 보여줄 수 있습니까? 테이블을 DOM에 삽입하기 전에 완전히 생성하고 있습니까? 각 행을 단계별로 DOM에 추가했는지 확인하십시오. – Eytibi

+0

각 행이 표시되기 전에 의도적으로 지연을 설정하지 않으면 인간의 눈이 파악하기 전에 표시됩니다. –

답변

0

브라우저에서 DOM 렌더링을 처리하려면 기본 setTimeout() 함수 또는 jQuery .delay() 메서드를 사용해야합니다. 대신 일을

는 : 밀리 초 단위로 표현된다

var n = 0, 
    iter; 

(iter = function() { 
    if(n < N_ROW) { 
    appendRow(n++); 
    setTimeout(iter, DELAY); 
    } 
})(); 

경우 'DELAY'를 0 또는 다른 임의의 값이 될 수 있습니다

for(var n = 0; n < N_ROW; n++) { 
    appendRow(n); 
} 

당신은 할 것. DELAY = 0 인 경우에도 프로세스는 '표준 방식'보다 더 많은 시간이 걸릴 수 있습니다.

편집 : 다른 사람처럼 당신이 목적에 속도를 느리게 할 계획이 아니라면 아마 은 '봐, 봐하는 사용자를 보여주기 위해 (예를 들어,와, DELAY = 500) 많은 이해가되지 않습니다,주의! 나는 새로운 행을 추가하고있다! '

0

아이디어에 감사드립니다. 기본적으로 즉시 (빈) 테이블을 반환했습니다 및 데이터를 들어오는 것처럼 행을 생성하는 데 사용했던 데이터를 원격으로 가져온 이후 다른 메서드를 실현, 나는 그것을 추가 한 그래서 테이블에 행을 추가했습니다. "진보"라고 표현했습니다. 내 질문에 행의 생성이 실제 데이터 가져 오기의 속도에 더 의존한다는 것을 분명히하지 않았으므로 점진적으로 표시하려고했습니다.

감사합니다.

관련 문제