2010-12-12 5 views
0

Ok je chopé méthode C pour précharger les images de cette question best way to preload multiple images Je suis en train de le mettre en œuvre dans un get tableau JSONMa tentative d'images de préchargement

$.getJSON('/pageCall.php',{chapters:chapterNumber}, function(data) 
     { 
      chapter=data; 
      totalPages = chapter.length; 

      var options = ''; 
      $.each(chapter, function(index, array) { 
      images[index] = new Image(); 
      images[index].src = array['imageLocation']; 
}); 
}; 

mais quand je tente appelle les images à l'aide rien de méthode suivante apparaît

function callImage(ImageNo) 
    { 
     $('#mangaImage').attr('src', images[ImageNo]); 
    } 

Répondre

1

D'abord, corriger quelques erreurs de syntaxe, (manque ), et cela suppose chapter et totalPages sont des variables défini ailleurs déjà), il devrait ressembler à ceci:

$.getJSON('/pageCall.php',{chapters:chapterNumber}, function(data) { 
    chapter=data; 
    totalPages = chapter.length; 
    var options = ''; 
    $.each(chapter, function(index, array) { 
     images[index] = new Image(); 
     images[index].src = array['imageLocation']; 
    }); 
}); 

Notez que cela suppose aussi une structure comme celle-ci:

[{"imageLocation": "url.jpg"},{"imageLocation": "url.jpg"}] 

.... si elle est différente, la boucle sera différente.


En outre, ce qui est dans votre tableau est une image, pas une chaîne ... alors vous avez besoin pour obtenir la propriété .src de celui-ci. Au lieu de cela:

$('#mangaImage').attr('src', images[ImageNo]); 

Il devrait être:

$('#mangaImage').attr('src', images[ImageNo].src); 
0

Vous manque un ) sur la dernière ligne du premier script.

changement

}; 

Pour

}); 

;) - c'est un clin d'oeil