XML ファイルからレコードを読み取り、動的に作成された HTML テーブル (id ="content" の div 内) に、push メソッドを使用して JavaScript で表示しています。レコード数が 1000 未満の場合、スクリプトは正常に実行され、コンテンツが表示されます。しかし、レコードの数が 100 万を超えると、ブラウザー (現在 Firefox を使用) は、応答しないスクリプトとして警告します (このページのスクリプトがビジー状態であるか、応答を停止している可能性があります。今すぐスクリプトを停止するか、続行することができますスクリプトが完了するかどうかを確認します)。レコードを分割してページ ナビゲーションで表示できることはわかっていますが、Yahoo!Mail の In Scrolling Option と同様に、すべてのレコードを現在のビューに表示する必要があります。または、すべてのレコードが表示される前に、「コンテンツ」に読み込み中の画像を表示したい div 以降は、xml コンテンツを含む HTML テーブルを表示する必要があります。これどうやってするの?
質問する
579 次
2 に答える
0
それには十分な理由があります。何百万ものレコードを Web ページにロードすることは、PC のメモリを消費するため、お勧めできません。人々はそのために多くの回避策を講じていますが、ページングを使用して前後に移動できます。遅延読み込みを使用することもできます。一度に 10 個のレコードしか表示できないため、ページを下にスクロールしているときにレコードが動的に読み込まれます。多くの js ライブラリには、ページングと遅延読み込みの実装が異なります。これは Extjs からのページングの例 です ここにリンクの説明を入力してください
ページングと遅延読み込み。これらのテクニックのいずれかを使用してください
于 2012-07-11T10:54:25.513 に答える
0
スクロールが最後に到達した後、最初にいくつかのレコードをロードして、より多くのレコードをロードすることができます。
$('#id').bind('scroll', function(){
if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight){
//load more records
}
});
于 2012-07-11T12:11:46.843 に答える