2010-12-12 37 views
0

好吧,我抓获方法下从这个问题 best way to preload multiple images 我想落实到一个GET JSON数组我在预加载图像尝试

$.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']; 
}); 
}; 

预加载图片,但是当我尝试并调用图像使用出现以下方法没什么

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

回答

1

首先,让我们修正了一些语法错误,(失踪),而这个假设chaptertotalPages是变量已经在别处定义),它应该看起来像这样:

$.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']; 
    }); 
}); 

注意,这还假定这样的结构:

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

....如果它是不同的,环路会有所不同。


而且,什么是你的阵列是一个图像,而不是字符串...所以你需要从中获得.src财产。取而代之的是:

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

它应该是:

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

你在第一个脚本的最后一行缺少一个)

变化

}; 

}); 

;) - 这是一个眼色