2009-05-25 4 views
0

私はLudo van den BoomのtreeTable jqueryプラグインを使ってテーブルを拡張可能なツリーとして表現しています。私のデータセットが大きくなると、私の$(document).readyのプラグインへの呼び出しを実行する際にFirefoxとIEのタイムアウトが発生します。treeTable jqueryプラグインを使用するとブラウザタイムアウトを防ぐ

プラグインの公開方法は次のとおりです。reportTableはかなり大きなテーブルのクラスがある

$(document).ready(function() { 
    $(".reportTable").treeTable(); 
}); 

$.fn.treeTable = function(opts) { 
    options = $.extend({}, $.fn.treeTable.defaults, opts); 

    return this.each(function() { 
     $(this).addClass("treeTable").find("tbody tr").each(function() { 
      // Initialize root nodes only whenever possible 
      if (!options.expandable || $(this)[0].className.search("child-of-") == -1) { 
       initialize($(this)); 
      } 
     }); 
    }); 
}; 

は、それが呼び出されます。初期化は再帰呼び出しです。

両方のブラウザでタイムアウトが発生しないようにこれを修正できますか?私はsetTimeout(質問#779379を参照)を使用するための参照を見てきましたが、私はそれをどのように適用するかはわかりません。

答えて

1

setTimeoutまたはsetIntervalから呼び出される関数はすべてメインループの外側で実行されるため、他のスクリプトはブロックされません。

window.onload = function(){setTimeout("your_function()",0)} 
+0

作品。ありがとう。 –

+0

あなたはこれをかなりうまく動作させる方法についていくつかの詳細を投稿できますか? – BenB

+0

プラグインのv1.4を使用していますか? – BenB

0

使用しているデータセットの量はどれくらいですか?ツリーにはいくつのノードがありますか?それにはいくつのルートノードがありますか?

treeTableプラグインのバージョン2.2.2をチェックしてください。大きなツリーをもっと早く初期化する必要があります。このバージョンはplugin's project pageでダウンロードできます。

関連する問題