回答:
1)CSSスプライトを使用します(これが推奨される方法です)。
2)非表示のdivに画像をロードします。divに画像を配置し、divのCSSを設定しdisplay: none;
て非表示にします。
#preloadedImages
{
width: 0px;
height: 0px;
display: inline;
background-image: url(path/to/image1.png);
background-image: url(path/to/image2.png);
background-image: url(path/to/image3.png);
background-image: url(path/to/image4.png);
background-image: url();
}
4)このJavaScriptを使用する
<script language="JavaScript">
function preloader()
{
// counter
var i = 0;
// create object
imageObj = new Image();
// set image list
images = new Array();
images[0]="image1.jpg"
images[1]="image2.jpg"
images[2]="image3.jpg"
images[3]="image4.jpg"
// start preloading
for(i=0; i<=3; i++)
{
imageObj.src=images[i];
}
}
</script>
純粋なCSSを使用して画像をプリロードする方法に関する次のリンクを見つけました。
http://www.thecssninja.com/css/even-better-image-preloading-with-css2
また、ホバーでさまざまな背景画像を変更する必要がある場合に役立ちました。
これをCSSの上に追加します。
<script type="text/javascript">
var images = ['img1.jpg', 'img2.jpg'];
for(var i = 0, len = images.length; i < len; i++) {
new Image().src = images[i];
}
</script>
<link rel="stylesheet" type="text/css" href="your_css_file.css" />
danpが示唆するようにスプライトのルートに行くと、スプライトを必要とする前にロードする際にまだ問題があります。それは私がスプライトが大好きだということです。簡単に作成するには、Steve Soudersのスプライトツールを使用します。