0
我有以下代码:的jQuery/JavaScript的:图片不加载
all_images = new Array(Array);
$.get('../dotclear-files/themes/biblio/js/dynamic_ajax_php.php', function(data) {
var w = 0;
$(data).find('image').each(function() {
if (!all_images[w]) all_images[w] = new Array();
all_images[w]['url'] = $(this).find('url').text() + '#comments';
all_images[w]['src'] = $(this).find('src').text();
all_images[w]['title'] = $(this).find('title').text();
all_images[w]['width'] = $(this).find('width').text();
all_images[w]['height'] = $(this).find('height').text();
w = w + 1;
});
$("#carousel-comments").append('<ul></ul>');
for (x=0; x<3; x++) {
$('#carousel-comments ul')
.append('<li>')
.append('<a href="' + all_images[x]['url'] + '#comments" title="' + all_images[x]['title'] + '">')
.append('<img alt="' + all_images[x]['title'] + '" class="jcarousel-img jcarousel-img-' + x + '" width="' + all_images[x]['width'] + 'px" height="' + all_images[x]['width'] +'px" />')
.append('</a>')
.append('</li>');
var img = new Image();
$(img)
.load(function() {
$('.jcarousel-img-' + x)
.attr({'src': all_images[x]['src'], 'alt': all_images[x]['title']})
.fadeIn();
})
.attr('src', all_images[x]['src']);
}
$('#carousel-comments').jcarousel('reload');
}, 'xml');
此代码加载图像的PHP脚本中,返回的XML文件中的第一部分。这部分工作正常。
问题出现在第二部分:$(img).load(...)
它从不显示我的图像。
这可以看出on my test page:这是第3个旋转木马,名为“C'est vous qui le dites!”。我们可以看到显示图像的标题...但图像本身未加载。
我在做什么错?
Thanx的任何帮助!
嗯......我不这么认为,因为图像本身已经附加到它(参见$('#carousel-comments ul')。append等)所以我所要做的就是设置“alt”和“src”属性.. – user1296220 2012-03-27 17:43:44
没错,我只是看到了这个...但是为什么你不把“src”直接放在你的图像中? – Akarun 2012-03-27 17:45:10
我不明白你的意思:我想要的是等待图像完全加载之前设置“src”属性,以便该图像只在满载时显示...你认为还有另一个如何实现这一目标? – user1296220 2012-03-27 17:50:02