ホームページ >ウェブフロントエンド >jsチュートリアル >jQueryを使用して画像を非同期的にロードできますか?

jQueryを使用して画像を非同期的にロードできますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-12 03:43:02936ブラウズ

Can Images Be Loaded Asynchronously with jQuery?

jQuery を使用した非同期イメージのロード

質問:

外部イメージを非同期的にロードしようとしています次のようなjQueryを使用しますcode:

$.ajax({ 
   url: "http://somedomain.com/image.jpg", 
   timeout:5000,
   success: function() {

   },
   error: function(r,x) {

   }
});

はエラー応答になります。 jQueryで画像の非同期読み込みは可能でしょうか?そうでない場合、画像を非同期に読み込むにはどうすればよいですか?

解決策:

画像の非同期読み込みは、jQuery を使用すると確かに可能です。ただし、$.ajax() メソッドはこのタスクには適していません。代わりに、新しい画像要素を動的に作成し、それにイベント ハンドラーをアタッチすることをお勧めします。

var img = $("<img />").attr('src', 'http://somedomain.com/image.jpg')
    .on('load', function() {
        if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
            alert('broken image!');
        } else {
            $("#something").append(img);
        }
    });

このメソッドは、ネイティブ HTML5 画像読み込みメカニズムを使用し、画像が完全に読み込まれたときに読み込みイベントをトリガーします。ロードされています。 complete、naturalWidth、naturalHeight プロパティをチェックすることで、画像が正常に読み込まれたかどうかを確認し、破損した画像の警告を防ぐことができます。

以上がjQueryを使用して画像を非同期的にロードできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。