私はテーブルを使ってスクリプトを作成しようとしています。InternetExplorerでより速く作業できます。クロムでうまく動作します。助言がありますか??
ここで見ることができるライブデモhttp://megatrixads.com/cbm
前もって感謝します!
私はテーブルを使ってスクリプトを作成しようとしています。InternetExplorerでより速く作業できます。クロムでうまく動作します。助言がありますか??
ここで見ることができるライブデモhttp://megatrixads.com/cbm
前もって感謝します!
上記の回答で述べたように。プロファイラーを使用してみてください。私はJSのパフォーマンス改善について読んでいます。これは素晴らしい本です
あなたのコードをチェックアウトしましたが、できることがいくつかあります。
ページをより速く表示するため。HEAD ではなくすべての JS をマークアップの後に追加することから始めます。CENTERタグの後に!このようにして、JS が実行を開始する前に HTML/css がロード/レンダリングされます。JS は DOM 内のものを変更できるため、JS をロードするとすべてのレンダリングが停止します。
document.ready() を使用してみてください
すべてのJSを1つのファイルに入れて最小化またはパックしてみてください=>サーバーへのリクエストの負荷/数が改善されます。
selectable() ステートメントでは、 $('.ui-selected') および $('.ui-selected').length() => この el を変数に格納することがよくあります。したがって、 var $ui_selected = $('.ui-selected'); を実行するだけです。この方法では、Jquery はこの要素を選択するために毎回 DOM を検索しません!(ちなみに、クラスを使用して要素を検索すると、#ID を使用するよりもパフォーマンスが低下します。
これらのヒントがお役に立てば幸いです。
IE9に組み込まれているプロファイラーの使用を検討してください。
F12(または[ツール]-> [開発者ツール])->[プロファイラー]->[プロファイリングの開始]。
レンダリングを高速化するためにIE7/IE8が必要な場合でも、IE9でプロファイルを作成して、明らかなパフォーマンスの問題(特定の関数への呼び出しが多すぎるなど)があるかどうかを確認できます。ほとんどのライブラリにはIE6-8などの古いブラウザ用の特別なコードパスがあるため、特定の問題を見つけるには、IE9で開発ツールを使用しているときにブラウザ/ドキュメントモードをIE7/8に強制する必要がある場合があります。
私は js オブジェクトからマップを生成することをテストしましたが、IE では魅力的に機能します。
これは、HTMLからマップオブジェクトを生成するために使用したコードです(実行する前に最初のtrを編集したので、正しい結果が生成されます。tdを使用したtrは、他のすべてと同じ形式で、colspanを使用します)
$(document).ready(function() {
var trIndex = 0,
mapObj = {},
tdIndex = 0;;
$table = $('.selectable');
$('tr', $table).each(function() {
mapObj[trIndex] = [];
tdIndex = 0;
$('td', $(this)).each(function() {
if($(this).attr('colspan') > 0) {
mapObj[trIndex][tdIndex] = {colspan: $(this).attr('colspan')}
} else {
mapObj[trIndex][tdIndex] = {id: $(this).attr('id')}
}
tdIndex++;
});
trIndex++;
})
console.log(JSON.stringify(mapObj));
});
次に、このオブジェクトを使用してテーブルを生成しました。テーブルに必要なものは次のとおりです。
<table width="1160px" height="695px" class="selectable"></table>
マップを生成するための JavaScript。生成されたオブジェクトが大きすぎてここに投稿できないため、フィドルを挿入しました。リンクは次のとおりです。http://jsfiddle.net/u8AwJ/
もちろん、コードはさらに最適化できますが、現時点では時間は限られています。
これは、マップの生成にのみ関連しています (私はあなたが持っていたアクションを削除したので、それを機能させることができます - 私が意味するレンダリング)。その部分を元に戻すことができます。