簡體   English   中英

檢查圖像是否已加載

[英]Check if images have loaded

我正在加載具有通用類名的8張圖像。 例如

<img class="commonClass" src="..." alt="" />
<img class="commonClass" src="..." alt="" />
<img class="commonClass" src="..." alt="" />

我如何使用jQuery來了解所有8張圖片是否均已完整加載?

我嘗試了以下方法,但未成功。

$('img.commonClass').on('load',function(){
    console.log("loaded");
});
var images = $('img.commonClass'),
    loaded = 0,
    target = images.length;

images.on('load',function(){
    loaded++;
    if (loaded == target) {
        doSomething();
    }
});

嘗試窗口加載:

$(window).on('load',function(){
    console.log("loaded");
});

它還將跟蹤是否已加載所有圖像,幀等。

您可以將一個類添加到已加載的圖像中,將具有該類的圖像與圖像總數進行比較:

$images = $('img.commonClass').on('load', function(){
    $(this).addClass('i_has_loaded');

    var check = $images.length == $images.filter('.i_has_loaded').length;
    if(check){
        alert('All images loaded');
    }
});

JSFiddle

您應該為每張圖片添加uniq ID。 並為每個id圖片調用此函數。

$('#any_image_id')
    .load(function(){
        $('#result1').text('Image is loaded!'); 
    })
    .error(function(){
        $('#result1').text('Image is not loaded!');
    });

更具活力:

 var loaded = 0, $images = $('img.commonClass'); $images.on('load',function(){ loaded++; if (loaded == $images.length) { doSomething(); } }); 

暫無
暫無

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

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