2011-12-13 8 views
1

jqueryでajax呼び出しで画像をロードしようとしています(This hereを使用)。それはまったく動作していないし、私は何が間違っているのか分からない、私は火かき棒を使用しており、どんな要求も見ない。どんな助けもありがとう。jqueryが動作していない外部画像をロードする

あなたは画像が実際にロードする前に loadイベントハンドラを明確に設定されるように srcを設定する前に loadイベントハンドラを設定することになるでしょう
var img = $('<img />').attr('src', thumbnailUrl).load(function() { 
        if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) { 
         alert('broken image!'); 
        } else { 
         $("#imageHolder").append(img); 
        } 

       }); 
+0

サムネイルは有効なURLですか?火かき棒からその価値をコピーしてそれに行くことができますか?はいの場合、http://jsfiddl.netでこれを再現できますか?そうすれば、診断が容易になります。 – JesseBuesking

+0

それは私のために正しく働いているようです。 thumbnailUrlにはどのような価値がありますか?これを$(document).ready関数に入れましたか? –

+0

imageHolderに追加されていないように見えます。私は火かき棒でデバッグし、それはうまく見えるが、ちょうど追加していない。はいイメージが存在します – user516883

答えて

2

:ここ

var img = $('<img />').load(function() { 
    $("#imageHolder").append(img); 
}).error(function() { 
    alert('broken image!'); 
}).attr('src', thumbnailUrl); 

はデモです:http://jsfiddle.net/Y2SWB/

通知loadイベントハンドラ内のエラーを処理するのではなく、.error(function() {...})呼び出しを追加しました。

+0

imageHolderに追加されていないようです。私は火かき棒でデバッグし、それはうまく見えるが、ちょうど追加していない。 – user516883

+0

@ user516883デモで動作します。あなたは 'imageHolder' IDを持つ複数の要素を持っていますか?それとも、これはループで行われていますか? – Jasper

+0

この要素は関数を呼び出し、その関数を呼び出してダイアログのオープン関数でダイアログを開き、サムネイル画像を読み込み、コードにいくつかの警告を設定し、var imgが[オブジェクトオブジェクト]を返します。また、それはajaxを呼び出さない、エラーや何もないです。これはおかしい。 – user516883

関連する問題