」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何可靠地檢查背景圖片是否已載入?

如何可靠地檢查背景圖片是否已載入?

發佈於2024-11-24
瀏覽:399

How to Reliably Check if a Background Image Has Loaded?

使用背景映像載入器

使用背景映像載入器

$('<img/>').attr('src', 'http://picture.de/image.png').on('load', function() {
   $(this).remove(); // prevent memory leaks
   $('body').css('background-image', 'url(http://picture.de/image.png)');
});

要真正確保背景圖像已完全加載,您可以使用不同的技術:

$('如何可靠地檢查背景圖片是否已載入?').attr('src', 'http://picture .de/image.png').on('load', function() { $(this).remove(); // 防止記憶體洩漏 $('body').css('背景圖片', 'url(http://picture.de/image.png)'); });

var src = 'http://picture.de/image.png';
var image = new Image();
image.addEventListener('load', function() {
   body.style.backgroundImage = 'url('   src   ')';
});
image.src = src;

在普通 JavaScript 中,這可以實現為:

function load(src) {
    return new Promise((resolve, reject) => {
        const image = new Image();
        image.addEventListener('load', resolve);
        image.addEventListener('error', reject);
        image.src = src;
    });
}

const image = 'http://placekitten.com/200/300';
load(image).then(() => {
   body.style.backgroundImage = `url(${image})`;
});

您也可以建立一個抽象函數來處理映像載入並傳回一個承諾:

function load(src) { 返回新的 Promise((解決, 拒絕) => { 常量影像=新影像(); image.addEventListener('載入', 解析); image.addEventListener('錯誤', 拒絕); 圖像.src = src; }); } 常量影像 = 'http://placekitten.com/200/300'; 載入(圖片).then(()=> { body.style.backgroundImage = `url(${image})`; });How to Reliably Check if a Background Image Has Loaded?

此方法可讓您可靠地檢查背景圖片載入是否完成,並確保僅在映像完全載入後才執行程式碼。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3