2016-06-28 20 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

あなたの努力を示してください。これはソースライティングサービスではありません。またはGoogleを少し難しくする。そこにはたくさんの例があります。 –

+0

コードを表示できますか?それをDOMに挿入する前に完全にテーブルを生成していますか?各行をステップごとにDOMに追加してください。 – Eytibi

+0

各行が表示される前に意図的に遅延を設定しない限り、人間の目が掴める前に表示されます。 –

答えて

0

あなたはネイティブのsetTimeout()関数またはブラウザプロセスのDOMのレンダリングをさせるためのjQueryの.delay()メソッドのいずれかを使用する必要があります。

の代わりにやって:あなたがやるだろう

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

を:

var n = 0, 
    iter; 

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

'DELAY' はミリ秒単位で表され、0または任意の他の任意の値であってもよいです。 DELAY = 0の場合でも、プロセスは「標準的な方法」よりも時間がかかる可能性があることに注意してください。

編集:他の人と同様に が気づいあなたが「ねえ、見ていることをユーザに示すために、(= 500 DELAY、たとえば、との)目的でそれを遅くすることを計画していない限り、それはおそらくあまり意味がありません!私は新しい行を追加しています!

0

ありがとうございました。私は基本的にはテーブルを直ちに返す(空の)方法と、行を生成するために使用していたデータが遠隔にフェッチされていたので、データが入ったときにテーブルに行を追加したので、それが「進歩」として示されました。私は私の質問では、行の生成が実際のデータフェッチの速度により依存していることを明確にしていませんでした。

ありがとうございました!

関連する問題