私は、訪問者がサイトに到着したときに背景イメージをフェードインさせようとしていますが、イメージがロードされていない場合は何かを実行する(jquery)
- 背景画像が既にキャッシュに入っているかどうかを確認してください。
- それが表示されている場合。
- それはそれを隠し、それをロードしたときに、jQueryのを使用して
でそれをフェードイン、私はそれを隠し、それがロードするときに、それをフェードすることができますされていない場合:。
$("#bkg img").hide();
$('#bkg img').load(function() {
$(this).fadeIn();
});
しかし、どのようにこの条件を設定すると、の画像がすでにキャッシュされていない場合にのみ発生します。は既にキャッシュされていますか?
フォーラムで見つけたものはすべて、画像の読み込みが完了するとトリガーされます。ロードされていないので、どのようにトリガーすることができますか? that other threadからのコードに基づいて、任意の助け
おかげで、 Lernz
@Sima私は限り、次のようにそれを作った - しかし、それは何の効果を持っていないようです。
var storage = window.localStorage;
if (!storage.cachedElements) {
storage.cachedElements = "";
}
function logCache(source) {
if (storage.cachedElements.indexOf(source, 0) < 0) {
if (storage.cachedElements != "")
storage.cachedElements += ";";
storage.cachedElements += source;
}
}
function cached(source) {
return (storage.cachedElements.indexOf(source, 0) >= 0);
}
var plImages;
//On DOM Ready
$(document).ready(function() {
plImages = $("#fundo-1 img");
//log cached images
plImages.bind('load', function() {
logCache($(this).attr("src"));
});
//display cached images
plImages.each(function() {
var source = $(this).attr("src")
if (!cached(source)) {
$(this).hide().fadeIn();
}
});
});
'.hide()'を最初に( 'if'内に)忘れないでください。 :) –
ええ、ちょうど*編集されたそれは、長い日と週、金曜日にもたらす。 – karim79
すごくいいよね:) – simekadam