2011-09-28 7 views
1

ici je donne le code pour précharger l'image par jquery.Image problème de préchargement avec jquery

var _images = ['/images/ajax-loader.gif']; 
    $.each(_images, function (e) { 
     $(new Image()).load(function() { 
      //alert($(this).attr('src') + 'has loaded!'); 
     }).attr('src', this); 
    }); 

le code ci-dessus fonctionne très bien car ici nous coder en dur le chemin de l'image, mais lorsque le chemin d'image est stockée dans la variable alors il ne fonctionne pas.

ici je donne le code qui donne l'erreur.

var _images = '[' + data.d[0].LabelImagePath + ']'; 
         $.each(_images, function (e) { 
          $(new Image()).load(function() { 
           $('#imgHolder').html("<img src='" + data.d[0].LabelImagePath + "' border=0/>"); 
           $("#btnPrint").show(); 
          }).attr('src', this); 
         }); 

ce chemin d'image de retour à la ligne comme /images/1Z520777777779.gif. Alors s'il vous plaît guidez-moi comment précharger des images lorsque le chemin de l'image est stocké dans variable avec jquery par le code ci-dessus. merci

Répondre

3

Vous construisez une chaîne au lieu d'un tableau (je ne sais pas pourquoi). Votre $.each() s'attend à quelque chose qui peut être itéré.

Essayez de créer un tableau à la place, il fonctionnera:

var _images = [data.d[0].LabelImagePath]; 

En outre, à l'intérieur du $.each(), ne pas utiliser data.d[0].LabelImagePath, car il va briser votre code lorsque vous essayez de précharger plus qu'une image.