2012-04-05 3 views
1

私のプロジェクトでは、1ページに24 * 6 * 300のセルを持つテーブルが1つあります(統計のレンダリング用のスクリプトです)。時間は24カラム、10分* 300は6カラム。すべてのセルにポップアップが表示され、追加情報が表示されます。問題は、非常に遅いということです。レンダリングだけでなく、ページ全体の作業もそうです。私はそれをスピードアップしたい場合は何をお勧めしますか?テーブルセルをたくさん使ってページをスピードアップするには?

1ページ付けおよび/または乱雑

を削除します。 (???画像としてテーブルをレンダリングULとdivタグで細胞を代入し、ホバー効果のためのイメージマップを使用する)

+0

あなたはどのようにレンダリングしていますか?ループ内で –

+0

はい。しかしレンダリングは最大の問題ではありません。レンダリングが完了したら、ブラウザは非常にゆっくりと反応します。 – Mejmo

+0

ポップアップはどのように実現されていますか?私の推測は、tablecellsそのようなものではなく、各セルのバインドされたJavaScriptは問題です – cypherabe

答えて

2

は、ここに私からのアドバイスですページあたり1時間のデータしか表示できないのでしょうか?あなたが画面上の基本情報だけを簡素化して表示することができ、ユーザーが特に要求したときにより包括的な結果を得ることができますか?

2.削除CSS3スタイリングなど

テキストの影、変換は、CPUの多くを取ります。パフォーマンスに重大な影響を及ぼす場合は削除してください。私の意見では、より良いページは、美しくて非常にslllllooooooowwwよりも速くて醜いものです...

3. JavaScript on page?

ピンポイントリーク、最適化、リファクタリング。

うん...何か他のものはありますか?

+0

「私の意見では、より良いページは、美しくて非常にslllllooooooowwwwwよりも速く醜いものです。 – DaveRandom

2

ブラウザの表示領域に43200オブジェクトが表示されないことが予想されます。ユーザーのスクロールイベントに行を追加し、現在表示領域にないものを削除することを検討してください。

+1

消えてしまったものを削除する限り、悪い考えではありません。潜在的に非常に書くことが複雑ですが、それは動作する可能性があります... – DaveRandom

0

あなたが特定のDOM要素は、より多くのメモリ/プロセッサ集約であることについて懸念しているように思えjqGrid

0

を使用して派手な方法で膨大なデータテーブルをレンダリングすることができます。あなたの場合、divの代わりにテーブルを使用することで余分な要素になるかもしれません。しかし、機能的にも視覚的にも同じことに終るには、ただちに不治の病に陥って、すぐに維持できなくなるでしょう。あなたは、それを動作させるためにはCSSと多分JavaScriptを混乱させる必要があります。意味論的にはそれは無意味であろう。テーブルは、あなたが持っているもののような表形式のデータのためのものです。

今、あなたは夢中になり、最初からコードを作成しようとするか、そこにある多くのツールのうちの1つを使って仕事を完了させることができます。私は、他の人々の努力を活用し、自由に利用できるツールを使用することをお勧めします。 Data Tablesを使用することを検討してください。おそらく、何らかの種類のページネーションや「無限スクロール」/遅延読み込みソリューションが必要になります。データテーブルには、無限のスクロールを処理できる特別な「スクローラー」が付属しています。

幸運。

関連する問題