簡體   English   中英

加載所有圖像后執行代碼

[英]Execute code after all images are loaded

我想在所有圖像加載后進行一些接口修復(需要保留圖像的元素的高度,並使用它們更改其他元素的高度),我將load事件附加到所有圖像,但是我的加載功能僅執行一次。 我嘗試僅使用jQuery:

$(function() {
    var $img = $('img');
    var length = $img.length;
    var count = 0;

    function load() {
       console.log(++count + ' == ' + length);
       if (count == length) {
          // all images loaded
       }
    }
    $img.load(load).error(load);
});

我也嘗試使用onload和onerror事件:

$img.each(function() {
    this.onload = load;
    this.onerror = load;
});

但是當頁面加載時,我只有一個日志:

1 == 33

(我正在開發工具和禁用緩存的情況下在Xubuntu上的Chromium中進行測試)

我在這里做錯了什么? 加載所有圖像后如何執行代碼?

聽起來您應該處理windowload事件:

$( window ).load(function() {
// Glorious code!!
}

從文檔中:“當頁面完全加載包括圖形時運行功能。”

http://api.jquery.com/load-event/

頁面加載完成后執行功能

$(window).load

這樣,所有要素均已准備就緒,可以“衡量”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM