Проверьте, загружается ли изображение (никакие ошибки) с jQuery

Я использую JavaScript с библиотекой jQuery для управления миниатюрами изображения, содержавшимися в незаказанном списке. Когда изображение загружается, оно делает одну вещь, когда ошибка происходит, оно делает что-то еще. Я использую jQuery load() и error() методы как события. После этих событий я проверяю изображение элемент DOM на .complete, чтобы удостовериться, что изображение не было уже загружено, прежде чем jQuery мог зарегистрировать события.

Это работает правильно кроме тех случаев, когда ошибка происходит, прежде чем jQuery может зарегистрировать события. Единственное решение, о котором я могу думать, состоит в том, чтобы использовать img onerror атрибут для хранения "флага" где-нибудь глобально (или на узле это сам), который говорит это, перестал работать так, jQuery может проверить что "хранилище/узел" при проверке .complete.

У кого-либо есть лучшее решение?

Править: Полужирные основные моменты и добавленная дополнительная деталь ниже: я проверяю, полон ли образ (иначе загруженный) ПОСЛЕ ТОГО, КАК я добавляю загрузку и ошибочное событие на изображении. Тот путь, если изображение было загружено перед событиями, был зарегистрирован, я буду все еще знать. Если изображение не будет загружено то после событий затем события будут заботиться о нем, когда оно сделает. Проблема с этим, я могу легко проверить, загружается ли изображение уже, но я не могу сказать, произошла ли ошибка вместо этого.

215
задан Brian Tompsett - 汤莱恩 20 August 2019 в 11:53
поделиться

1 ответ

Этот работал хорошо для меня:)

$('.progress-image').each(function(){
    var img = new Image();
    img.onload = function() {
        let imgSrc = $(this).attr('src');
        $('.progress-image').each(function(){
            if($(this).attr('src') == imgSrc){
                console.log($(this).parent().closest('.real-pack').parent().find('.shimmer').fadeOut())
            }
        })
    }
    img.src = $(this).attr('src');
});
0
ответ дан 23 November 2019 в 04:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: