2012-05-09 36 views
0

非常に長いHTMLテーブルを作成するJavaScript関数buildTableがあります。JavaScriptスクリプトの実行時間が長すぎます。スクリプトの取得に時間がかかりすぎる

function buildTable() { 

       for (var i = 0; i < rowCount; i++) { 

    .. code to create table 

} 

}

buildToolsetTableは、あまりにも多くの時間がかかり、数秒後にIE 7は、私は、スクリプトを実行し続けたい場合は、そのプロンプトを示しています。 window.setTimeoutを使用して別の呼び出しを行い、実行をリフレッシュできることを読んだが、もし誰かが実装していれば、それは役に立つだろう。 setTimeout()を呼び出すと、ブラウザは、独自のコードで扱うUIイベントを散在することができます

​​

+1

この質問はほとんど問題ではありません...もっとコードを投稿できますか? – elclanrs

+0

@ close voters - 基本的な質問は完全にはっきりしています。 – Alnitak

答えて

2

あなたが各反復のために呼ばれています別の関数にループを分割し、このようなものが必要。

は、あなたがこのコードをスタンドアロンで作成し、ちょうど必要なパラメータを渡すことができるように、1回の繰り返しと整頓機能のコールバックを行う、追加の楽しみのため

http://jsfiddle.net/alnitak/8wXTT/を参照してください。

+0

doWork()の内部すべての行を繰り返し処理するforループがあります。どのように私はそれを分解することができます。ループのインデックス位置を失うことはありません。 – azamsharp

+0

@Alnitak 'setInterval' - 確かに?これはウィンドウが閉じられるまでできるだけ早く 'doWork'を呼び出す' rowCount' "timer"を作成します。 'setTimeout'はより良い選択でなければなりません – Andreas

+0

@azamsharpは" do some stuff "というループを_one_繰り返す場所です – Alnitak

関連する問題