3

120x120 の 115 個の div があり、それぞれに異なる背景画像があります。各 div には、検索バーの目的でのみ使用する複数のクラス名があり、getElementsByClassName. たとえば、115 人の人間を考えてみましょう。検索で「女性」と入力できると、すべての男性が非表示になり、女性のみが表示されます。

これは検索フィルターを行う間違った方法ですか? div をdisplay = "none"非表示にするように設定し、blockそれらが検索対象の一部である場合。複数の空のクラス名を検索フィルターとして使用するのが心配です。このようにしても大丈夫ですか、それともこのようなことのために特別に行われたより便利な方法はありますか?

4

2 に答える 2

1

JavaScript で 115 レコードの配列を保持することにより、よりデータベース化されたアプローチを使用できます (つまり、それらはすべてデータベース化されています... データベースに似ているとしましょう)。つまり、事実上、フラット ファイル データベースが作成されます。JavaScript のスキルがあれば、div を非表示にするのではなく生成するアプローチの使用が容易になります。これにより、Campari が言及したリソースの問題が解決されます。

実際には、現在のソリューションよりもはるかにスケーラブルです。.js1 つには、メンテナンスを容易にするために、アレイを別のファイルまたは.iniドキュメントに 保管しておくことができます。

于 2013-08-05T20:06:05.783 に答える
1

独創的な方法だと思いますが、実際には状況によります。115個の「アイテム」にとどまりますか、それともさらに追加する予定ですか? さらに追加することを計画している場合、おそらくうまくスケーリングできないからです。検索方法自体のせいではなく、背景画像がすべてのブラウザリソースを使い果たしている隠しdivが100を超えているため、すでに多すぎると思います。

あなたができることは、背景画像パスのフィールドとキーワードのフィールドを持つデータベーステーブルにアイテムを保存し、検索を実行して一致するキーワードを持つものだけを表示することです

于 2013-08-05T19:41:20.843 に答える