Определить загрузку изображения

Можно ли обнаружить, как только изображение было загружено с помощью jQuery?

55
задан Foreever 15 October 2014 в 14:32
поделиться

2 ответа

Вы можете использовать обработчик событий .load () , например:

$("#myImg").load(function() {
  alert('I loaded!');
}).attr('src', 'myImage.jpg');

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

Если это не выполнимо (установка src после привязки), обязательно проверьте, загружен ли он, и запустите его самостоятельно, например:

$("#myImg").load(function() {
  alert('I loaded!');
}).each(function() {
  if(this.complete) $(this).load();
});
107
ответ дан 26 November 2019 в 17:46
поделиться

Так же просто использовать обычный Javascript:

  // Create new image
var img = new Image();

  // Create var for image source
var imageSrc = "http://example.com/blah.jpg";

  // define what happens once the image is loaded.
img.onload = function() {
    // Stuff to do after image load ( jQuery and all that )
    // Within here you can make use of src=imageSrc, 
    // knowing that it's been loaded.
};

  // Attach the source last. 
  // The onload function will now trigger once it's loaded.
img.src = imageSrc;
18
ответ дан 26 November 2019 в 17:46
поделиться
Другие вопросы по тегам:

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