0

有什么方法可以显示(或警告)使用 jquery 中的 .load() 和 .error() 函数加载或未加载的图像。目前它只显示最后一个图像名称。我需要所有未加载的图像名称。

有没有办法在javascript中做到这一点?

我正在使用的代码是..

$('<img />').load(function(){
                                    alert(item_source);
}).attr('src',item_source,'title',title);

带循环的完整代码是..

for(var i = 0; i < items_count; ++i){
        var item_source = data1[i];
        var cnt         = 0;
        var img=new Image();
        var title=$('span')[index].innerHTML;
        $('<img />').load(function(){
            var $image = $(this);

            ++cnt;
            resizeCenterImage($image);
            $ps_container.append($image);

            var r       = Math.floor(Math.random()*41)-20;
            if(cnt < items_count){
                $image.css({
                    '-moz-transform'    :'rotate('+r+'deg)',
                    '-webkit-transform' :'rotate('+r+'deg)',
                    'transform'         :'rotate('+r+'deg)'
                });
            }
            if(cnt == items_count){
                $loading.remove();
                $ps_container.show();
                $ps_close.show();
                $ps_play.show();
                $ps_overlay.show();
            }

        }).attr('src',item_source,'title',title);

    }   
4

1 回答 1

0

问题是,当加载函数运行时,您要警告的变量已经被修改,现在保存最后一个值集。而是使用this.src来获取当前图像的来源:

$('<img />').load(function(){
    alert(this.src);
}).attr({src:item_source,title:title});

此外,如果要设置多个属性,则需要将对象传递给attr()

于 2013-10-10T07:09:57.327 回答