100列のテーブルがあります。各要素の幅を明示的に設定するために、すべての要素に対してループを実行しています。
var $ths = $("table th");
$ths.each(function (i, th) {
var $th = $(th);
var width = $th.width();
$th.width(width);
});
100 列の場合、これには時間がかかりすぎます (60 秒以上)。各「get width」呼び出しには 500 ~ 700 ミリ秒かかります。これは、毎回レイアウトを生成する必要があるためです。幅を取得します。
質問 - 幅を取得するより高速な方法はありますか?
理由 - ヘッダーをフリーズしています。そのためには、各ヘッダーの幅を固定ピクセル幅に設定する必要があります。すべてが動的であり、各列の幅を px で事前設定することはできません。