Ajaxでロードされたコンテンツが画像のロードをいつ完了するかを知るにはどうすればよいですか
-
03-07-2019 - |
質問
ajaxリクエストからhtmlを読み込んでおり、その中にいくつかの img タグがあります。
コンテナのサイズを変更するために、ajaxに読み込まれた画像が完全に読み込まれたときを知る必要があります。 結果に含まれる画像の数がわからないため、単に .complete の値を確認することはできません。
これに対する解決策を知っていますか?
ありがとう!
レアンドロ
解決
jQueryを使用している場合、 $(window).load()
コマンドは、次のように、すべての画像が読み込まれた後に呼び出される関数を設定できます。
$(window).load(
function() {
// weave your magic here.
}
);
jQueryを使用していない場合、その機能の少しビットが必要なときに実行したことを実行します。ダウンロードしてソースを調べて、どのように機能するかを確認します。それから:-)
他のヒント
XMLHTTPrequestsには、ロードがいつ完了したかを判断するために使用できるプロパティがあります。 JavaScriptを直接使用している場合は、onreadystatechangeイベントに関数を割り当てる必要があります。これは、状態が変わるたびに呼び出されます。状態はReadyStateに保存され、次のとおりです。 0未開始 1読み込み中 2ロード済み 3インタラクティブ 4完了
関数で、ステータスが4であることを確認し、他の必要な関数を呼び出します
JQueryには、特定のことが発生したときに通知するイベントがあります。 AJAXドキュメントを表示
OK、Paxのおかげで解決策を見つけました。
ajaxリクエストの success イベント(jQueryを使用)で、次のコードを追加しました:
$('img', this).load(function() {
resize_element(this);
});
お二人に感謝します!
所属していません StackOverflow