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 に答える