好的我抓住了方法C从这个问题预加载图像 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]);
}
答案 0 :(得分:1)
首先,让我们修复一些语法错误,(缺少)
,这假定chapter
和totalPages
是已在其他地方定义的变量),它应如下所示:
$.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);
答案 1 :(得分:0)
您在第一个脚本的最后一行错过了)
。
更改
};
要
});
;) - 那是一个眨眼