Sto cercando di dissolvere l'immagine di sfondo quando un visitatore arriva al sito ma non quando ha già quell'immagine nella sua cache. Qualcosa in questo senso:Fai qualcosa se un'immagine non è stata caricata (jquery)
- Verificare se un'immagine di sfondo è già nella cache.
- Se è quindi mostrarlo.
- Se non è poi nasconderlo e quando viene caricato, dissolvenza in
utilizzando jQuery posso nasconderlo e poi svanire in quando carica:.
$("#bkg img").hide();
$('#bkg img').load(function() {
$(this).fadeIn();
});
Ma come faccio questo condizionale in modo che accada solo se l'immagine non è già memorizzata nella cache?
Tutto ciò che ho trovato nei forum si attiva quando un'immagine finisce di caricarsi. Come posso farlo attivare perché non è caricato?
Grazie per qualsiasi aiuto, Lernz
@Sima basato sul codice da that other thread Ho fatto che per quanto riguarda la seguente - ma non sembrano avere alcun effetto. Se si riesce a vedere dove sto andando male sarebbe fantastico:
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();
}
});
});
Non dimenticarsi di '.hide()' prima (all'interno di 'se'). :) –
Sì, * solo * modificato in. Dang, lungo giorno e settimana, porta venerdì. – karim79
wow che sembra fantastico :) – simekadam