すべての小さな画像に$(window).load()がロードされた後にリンクによって参照されるライトボックスギャラリーから大きな画像を読み込む関数を作成しました。jQuery Imageプリローダー機能は機能しますか?
ここでは、コードです:
$(window).load(function() {
if ($('ul#gallery').length > 0) {
// make a container, fill in images and attach it to the page body
var c = $("<div />").attr({style: 'display: none', id: 'gallerypreload'});
$("ul#gallery li > a").each(function() {
$('<img />').attr('src', $(this).attr('href')).appendTo(c);
});
c.appendTo('body');
}
});
ギャラリーは以下のようになります。
<ul id="gallery">
<li><a href="/img/image.jpg" title="Image title"><img src="img/thumbnail.jpg" alt="Image title" /></a></li>
<li><a href="/img/image.jpg" title="Image title"><img src="img/thumbnail.jpg" alt="Image title" /></a></li>
<li><a href="/img/image.jpg" title="Image title"><img src="img/thumbnail.jpg" alt="Image title" /></a></li>
<li><a href="/img/image.jpg" title="Image title"><img src="img/thumbnail.jpg" alt="Image title" /></a></li>
<li><a href="/img/image.jpg" title="Image title"><img src="img/thumbnail.jpg" alt="Image title" /></a></li>
</ul>
ブラウザが最初にすべてのサムネイルをロードし、THENのための大きな画像をプリロードすることになっているので、私は、これをしたいが、見る。また、私は$(window).load()でもトリガされる何らかのフェード効果を書いています。
私の質問はここにあります:すべてのブラウザは、本体に取り付けられた画像をコンテナに入れていますか?したがって、それは表示されません、理論的に彼らはイメージを読み込んではいけませんか?私はのスタイルをしなければならないのでしょうか?
ありがとうございました。
これはHTML5や旧式のブラウザでも機能しますか? – Vincent
@ Vincent:はい、画像オブジェクトを使用してものをプリロードすることは、最も古い方法です。私は最後の千年以来それを使用しています:) – Flambino
OKありがとう男。しかし、ドームにイメージタグを追加する必要がありますか?画像オブジェクトは単独で使用できますか?私は現在 'new Image()。src = $(this).attr( 'href');'を使用しています。ありがとう。 – Vincent