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

#jquery

#jquery

Вопрос:

Я знаю, что $(window).load срабатывает, когда загружены все изображения на странице. Я ищу что-то похожее на то, когда конкретное изображение было загружено на страницу. Любая помощь была бы высоко оценена.

Ответ №1:

Смотрите http://api.jquery.com/load-event /

Например.

 <img src="book.png" alt="Book" id="book" />


$('#book').load(function() {
  // Handler for .load() called.
});
  

Обновить:

Если изображение уже загружено к моменту указания обработчика загрузки, обработчик загрузки не будет запущен. Поэтому лучше всего указывать источник изображения после настройки обработчика загрузки.

 <img id="book" />

...

$('#book').load(function() {
  alert('loaded') ;
});
$('#book').attr('src','book.png') ;
  

Комментарии:

1. @NeXXeuS, в URL-адресе, который я дал, есть раздел под названием «Предостережения относительно события загрузки при использовании с изображениями». Но этот материал (или, по крайней мере, эквивалент Javascript) всегда работал у меня.

2. @Thomas, у вас может возникнуть состояние гонки, когда изображение уже загружено до того, как вы указали обработчик. Вы можете либо попробовать указать обработчик ранее (как в $(document).ready() ), либо установить src атрибут image после настройки обработчика изображения load . Я обновил свой ответ.

Ответ №2:

Вы также можете привязать событие загрузки к изображениям.

 $('#myimage').load(function() {
  console.debug('My image has loaded...');
});