私は現在、画像を検索し、次のようなリスト要素として結果を返す検索ボックスをウェブサイトに持っています。
<ul>
<li rel="1"><img src="imgurl" /></li>
<li rel="2"><img src="imgurl" /></li>
<li rel="3"><img src="imgurl" /></li>
<li rel="4"><img src="imgurl" /></li>
</ul>
次に、各画像にはクリックイベントが関連付けられており、クリックされた画像の親liにオーバーレイを追加するだけです。
検索結果に 300 件以上の結果が含まれることがあります。これは、デスクトップではそれほど問題ではありませんが、モバイル デバイスでは大きな遅延が発生します。たとえば、誰かが画像をクリックしてオーバーレイを追加する場合、オーバーレイが表示されます。
今、私はこれを修正する方法を考えました:
すべての li 要素を配列に追加します (DOM 要素ではなく文字列として)
元の li 要素を破棄します。
画面のサイズと一度に表示できる画像の数を計算する
リストをスクロールするために使用するスライダー UI 要素を追加します。
スライダーの位置と、画面に収まる要素の数に基づいて、実際に表示できる要素を配列から抽出し、残りを破棄します
返された配列の結果をループし、すべての結果を 1 つの文字列に追加します。次に、表示できるすべての結果を含む文字列を UL に追加します。
私の質問は、これにより実際にパフォーマンスが向上するかどうかです。私の最初の問題は、dom の要素が多すぎることだと私は信じています。
また、これは一般的なことですか、それともより良い方法はありますか?
ありがとう