jQuery / javaScript:图片不加载

时间:2012-03-27 17:38:11

标签: javascript jquery image load

我有以下代码:

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:它是第三个旋转木马,标题为“C'est vous qui le dites!”我们可以看到图像的标题被显示......但是图像本身没有被加载。

我做错了什么?

Thanx任何帮助!

1 个答案:

答案 0 :(得分:0)

我认为你必须将<img>附加到旋转木马上。

$(img).appendTo($("#carousel-comments"));

或类似的东西。

评论交换后

编辑

<IMG>中的元素LIvar img = new Image的元素不同。然后尝试这样的事情:

for (x=0; x<3; x++) {
    var img = new Image();
    img.load(function() {
        $(this).fadeIn();

        // Also, set your carousel here        
    });

    img.attr('alt', all_images[x]['title'])
        .attr('width', all_images[x]['width'])
        .attr('height', all_images[x]['height'])
        .addClass('jcarousel-img jcarousel-img-' + x)
        .attr('src', all_images[x]['src']);

    $('#carousel-comments ul')
        .append('li')
        .append('<a href="' + all_images[x]['url'] + '#comments" title="' + all_images[x]['title'] + '">')
        .append(img);
}