如何在ajax加载的图像上执行load()?

时间:2015-05-09 14:19:50

标签: javascript jquery ajax html5 image

想要进行漂亮的图像加载,但是我的图像是由ajax(prepend)加载的。如何在每个图像上执行load()。我希望它一个一个地加载,顺序并不重要。在图像加载之前我想要一些加载gif。

以下是我的尝试:

...
...
svc.Device = currentCell.detailTextLabel!.text!
            svc.desc = currentCell.textLabel!.text!

            self.navigationController?.pushViewController(svc, animated: false)

这是我的尝试:

.done(function( data ) {
        var obj = JSON.parse(data);
        for(i = 0; i < obj.length; i++)
            if(obj[i].indexOf("blank.gif") > -1)
                continue;
            else
                $("#images_for_this_gallery").prepend("<div id='fd_" + i + "' class='featured_image_div'>" +
                "<span class='imageloading'>loading</span>"    + //LOADING MEESAGE FOR EACH IMAGE
                "<img class='images' src='" + image_path +  obj[i] + "' />" + // IMAGE FOR NICE LOAD
                "<a href='#' id='" + obj[i] + "' class='image_delete'>X</a>" +
                "</div>").hide();
    });

这是另一次尝试:

$(".images").each(function() {
        if (this.complete) {
            // this image already loaded
            // do whatever you would do when it was loaded
        } else {
            $(this).load(function() {
                $(".imageloading").hide();
                $(this).show();
            });
        }
    });

它适用于普通图像,但不适用于ajax生成的图像......

谢谢!

0 个答案:

没有答案