2009-05-01 2 views
1

私はajaxリクエストからhtmlをロードしており、imgというタグが入っています。AJAXをロードしたコンテンツが画像の読み込みを完了するとき、どうすればわかりますか?

コンテナのサイズを変更するために、ajaxに読み込まれた画像が完全に読み込まれるタイミングを知る必要があります。 結果に含まれる画像の数がわからないので、.completeの値を単にチェックすることはできません。

解決方法はありますか?

ありがとうございました!

レアンドロ

答えて

1

あなたはjQueryのを使用している場合は、$(window).load()コマンドは次のようにすべてのイメージが、ロードされると呼び出される関数に設定することができます:あなたが使用していない場合

$(window).load(
    function() { 
     // weave your magic here. 
    } 
); 

をjQuery、私はちょうど私が少しのの機能のビットをしたいときにやったことをやっています:それをダウンロードし、どのようにそれを参照してくださいソースを調べる。次にそれを行います:-)

+2

ユーザーが画像をリクエストすると、ajaxは画像を読み込みます。それで、それはコンテンツロードの後に​​たくさんあります。 任意の要素で.load()関数を使用できますか?おそらく、そのイベントをコンテナにフックすることができます。 –

0

XMLHTTPrequestsには、ロードが完了した時点を判断するために使用できるプロパティがあります。 javascriptを直接使用している場合は、onreadystatechangeイベントに関数を割り当てる必要があります。これは、状態が変わるたびに呼び出されます。状態はreadyStateの中に保存されているされています 0初心者は 1ロード 2ロード 3インタラクティブ 4コンプリート

は、あなたの関数の中であなたはjQueryのをステータスが4であることを確認し、

他の必要な関数を呼び出しています特定の事柄がいつ発生したかを示すイベント。 View the AJAX Documentation

+1

はい、結果のajaxリクエストのイメージがロードされたときのイベントはありません。 .load()が解決策です。とにかくありがとうございます。 –

0

[OK]をPaxのおかげで、私は解決策を見つけました。

 

$('img', this).load(function() { 
    resize_element(this); 
}); 
 

おかげで、あなたの両方:AJAX要求の成功イベントで

は(jQueryのを使用して)、私は次のコードを追加しました!

関連する問題