私はjqueryベースのホームページに5つの隠しdivがあり、それぞれにいくつかのバックグラウンドCSS画像が含まれています。プレロード非表示のCSS画像
問題は、親レイヤーの可視性が表示されるまでブラウザがcssイメージをDOMにロードしないため、レイヤーが表示されたときに画像がゆっくりと読み込まれることです。私はすでに考えられてきた
ソリューション:
- CSSスプライト(文句を言わない。このために再設計するあまりにも多くの仕事、そして実際に動作divを表示/非表示)
- This jQuery pluginその自動ロードのCSSの背景画像(単に他の多くの人に報告されているように私にとってはうまくいきません)。
JSを経由して画像をプリロード:
$(function() { function preloadImg(image) { var img = new Image(); img.src = image; } preloadImg('/images/home/search_bg_selected.png'); });
このソリューションは、二回DOMに画像をロードしているようだ...かつてのJSロードし、その後、再びそれをロードするdivレイヤが表示されたときに...これは2つのHTTP呼び出しを行い、したがって動作しません。
この問題の解決方法は他にありますか?
すべてのご提案ありがとうございます!私は明日試してみて、何がうまくいくか見てみましょう。私は1x1 divメソッドを試してみましたが、私が作業しているレールアプリはイメージURLの最後にキャッシュハッシュを割り当てています。そのため、ブラウザはそれらをcssのものとは異なるイメージとして扱います。 – Cory