Webページには、非常に多くのアイテムのリストがあります(たとえば、製品カードには、それぞれに画像とテキストが含まれています)。そのうちの約1000個です。クライアントでこのリストをフィルタリングしたいのですが(フィルタリングされていないアイテムのみを表示する必要があります)、レンダリングパフォーマンスの問題があります。非常に狭いフィルターを適用し、残りのアイテムは10〜20個だけです。その後、キャンセルすると(すべてのアイテムを再度表示する必要があります)、ブラウザー(非常に優れたマシンのChrome)が1〜2秒ハングアップします。
次のルーチンを使用してリストを再レンダリングします。
for (var i = 0, l = this.entries.length; i < l; i++) {
$(this.cls_prefix + this.entries[i].id).css("display", this.entries[i].id in dict ? "block" : "none")
}
dictは、許可されたアイテムのIDのハッシュです。
この関数自体は即座に実行され、ハングアップするのはレンダリングです。DOM要素の「display」プロパティを変更するよりも最適な再レンダリング方法はありますか?
よろしくお願いします。