#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...');
});