JQuery: отображение изображения при успешной загрузке и конфликте с onload - PullRequest
2 голосов
/ 19 мая 2011

Я хочу показывать изображения только тогда, когда они успешно загружены (некоторые пути дают 404).Имеем следующий код, который отлично работает.

<script>
    $(document).ready(function() {
      $(".complex-image").load(function(){
          $(this).show();
      });
    });
</script>

Теперь на одной из страниц отображается карта Google, которая устанавливает:

onload = initMap
onunload = GUnload

На этой странице в IE8 и Chrome изображение делает не отображается даже при наличии.Но в Firefox 4 это хорошо видно. Пример страницы с изображением + картой с моего сайта: this

Я также пробовал использовать обратный подход: скрывать изображения при ошибке загрузки.Используя код ниже:

<script>
    $(document).ready(function() {
      $(".complex-image").ready(function(){
          $(this).hide();
      });
    });
</script>

Это не скрывает изображения в IE8 как на картах, так и на страницах, не содержащих карту.

Что такое кросс-браузерный способ отображения изображений при успешной загрузке,когда определена нагрузка на тело?

Редактировать: Использовал решение Elzo и запускать img.load (), даже когда изображение читается из кэша, использовал это: Обратный вызов jQuery при загрузке изображения (дажекогда изображение кэшируется)

1 Ответ

4 голосов
/ 19 мая 2011

Вот как это сделать. Я также поставил демо .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...