私は 5 つほどの非表示の div を持つ jquery ベースのホームページに取り組んでおり、それぞれに複数の背景 css イメージが含まれています。
問題は、親レイヤーの可視性が表示されるまでブラウザーが CSS 画像を DOM にロードしないため、レイヤーが表示されると画像の読み込みが遅くなることです。
私がすでに検討した解決策:
- CSS スプライト (このために再設計するにはあまりにも多くの作業が必要であり、div を表示/非表示にするときは実際には機能しません)
- CSS背景画像を自動ロードするこのjQueryプラグイン(他の多くの人が報告しているように、私にとってはうまくいきません)。
js 経由で画像をプリロードする:
$(function() { function preloadImg(image) { var img = new Image(); img.src = image; } preloadImg('/images/home/search_bg_selected.png'); });
このソリューションは、画像をdomに2回ロードするようです.jsがロードするときに1回、ロードするdivレイヤーが表示されるときに再度... 2回のHTTP呼び出しを行うため、機能しません。
私が見逃しているこの問題の他の解決策はありますか?