Я хочу знать, когда изображение закончило загрузку. Есть ли способ сделать это с помощью обратного вызова?
Если нет, есть ли способ сделать это вообще?
javascript
image
callback
loading
Сиро Сантилли 郝海东 冠状 病 六四 事件 法轮功
источник
источник
Ответы:
.complete
+ обратный звонокЭто совместимый со стандартами метод без дополнительных зависимостей, который ожидает не дольше, чем необходимо:
Источник: http://www.html5rocks.com/en/tutorials/es6/promises/
источник
img.complete
вызовом иaddEventListener
вызовом?load
слушатель события должен быть вelse
предложении, чтоimg.complete
может стать истинным до того, какload
событие будет запущено, следовательно, если бы это было не так, вы могли бы потенциально вызватьloaded
дважды (обратите внимание, что это относительно вероятно изменится так, чтоimg.complete
станет истинным только тогда, когда событие пожары).Image.onload () будет часто работать.
Чтобы использовать его, вам нужно обязательно связать обработчик событий, прежде чем устанавливать атрибут src.
Ссылки по теме:
Пример использования:
источник
load
мероприятие недействительно? html.spec.whatwg.org/multipage/webappapis.html#handler-onload - это определениеonload
обработчика событий.Вы можете использовать свойство .complete класса изображений Javascript.
У меня есть приложение, в котором я храню несколько объектов Image в массиве, которые будут динамически добавляться на экран, и по мере их загрузки я записываю обновления в другой div на странице. Вот фрагмент кода:
источник
Вы можете использовать событие load () - в jQuery, но оно не всегда срабатывает, если изображение загружается из кэша браузера. Этот плагин https://github.com/peol/jquery.imgloaded/raw/master/ahpi.imgload.js можно использовать для устранения этой проблемы.
источник
Жизнь слишком коротка для jquery.
источник
src
JS.myImage.src = https://pmchollywoodlife.files.wordpress.com/2011/12/justin-bieber-bio-photo1.jpg?w=620
делает трюк.Вот эквивалент JQuery:
источник
Не подходит для 2008 года, когда был задан вопрос, но в эти дни это хорошо работает для меня:
источник
Эти функции решат проблему, вам нужно реализовать
DrawThumbnails
функцию и иметь глобальную переменную для хранения изображений. Я люблю, чтобы это работало с объектом класса, у которого естьThumbnailImageArray
переменная-член, но я изо всех сил!называется как в
addThumbnailImages(10);
источник
addThumbnailImages
функцию. Сократите его до соответствующего кода, и я уберу -1.Если цель состоит в том, чтобы стилизовать img после того, как браузер отобразил изображение, вы должны:
потому что сначала браузер
loads the compressed version of image
, потомdecodes it
наконецpaints
то. поскольку дляpaint
вас нет события, вы должны запустить свою логику после того, как в браузере естьdecoded
тег img.источник
Если вы используете React.js, вы можете сделать это:
// ...
// ...}
Куда:
источник