function loadImage(url) {
var retval=0;
var img = new Image();
$(img).attr('src', url)
.appendTo("#test")
.load(function() {
$(this).hide().fadeIn();
retval=true;
})
.error(function() {
$(this).remove();
retval=false;
});
return retval;
}
Cette fonction retourne toujours 0 :(jQuery Chargement des images de manière synchrone avec .load
Je suppose que je ne peux pas remplacer la variable globale (retval) en raison de la façon asynchrone behavoir de la fonction .load. Tout ? idées pour une solution de contournement je voudrais savoir comme que la fonction indique également si l'image à distance donnée existe ou non
Même résultat que avec mon snipped. Et si je laisse retourner true/false depuis les gestionnaires d'événements, la fonction loadImage ne renvoie logiquement rien. – lorus
Ah, le code que vous renvoyez est renvoyé avant que l'image soit chargée (asynchrone), donc la valeur est toujours 0. Essayez de définir la valeur de retval comme -1 et définissez un délai qui s'appelle chaque 500ms et renvoie seulement le retval quand c'est différent -1. – Rickjaah
@lorus Cela a-t-il fonctionné? Veuillez répondre ou marquer cette réponse comme solution. – Rickjaah