首頁 >web前端 >js教程 >可以用jQuery異步載入圖片嗎?

可以用jQuery異步載入圖片嗎?

Susan Sarandon
Susan Sarandon原創
2024-11-12 03:43:02936瀏覽

Can Images Be Loaded Asynchronously with jQuery?

使用jQuery 非同步載入映像

問題:

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

   },
   error: function(r,x) {

   }
});

問題:

嘗試加載外部圖像使用有以下程式碼的jQuery:

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);
        }
    });
會導致錯誤響應。 jQuery 可以實現非同步影像載入嗎?如果沒有,如何非同步載入圖片?

解決方案:使用 jQuery 確實可以實現非同步圖片載入。但是,$.ajax() 方法不適合此任務。相反,首選方法是動態創建一個新的圖像元素並為其附加事件處理程序:此方法使用本機HTML5 圖像加載機制,當圖像完全加載時會觸發加載事件已加載。透過檢查complete、naturalWidth和naturalHeight屬性,您可以確定圖像是否已成功載入並防止損壞圖像警告。

以上是可以用jQuery異步載入圖片嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn