Я использую плагин jQuery , который вызывает обратный вызов после загрузки всех изображений на странице.Он проверяет свойство imageObject.complete
и привязывает обработчик к событиям load
и error
, чтобы определить, когда загрузка изображения завершена.
Это работает хорошо, но проблема, с которой я сталкиваюсь, заключается в том, чтодаже если изображение считается загруженным, когда я проверяю свойства height
и width
изображения или содержащего его элемента div
, размеры еще не обновлены.
Вот пример:
http://jsfiddle.net/RtnVx/12/
Как я могу убедиться, что размер содержащего элемента был изменен в соответствии с размером до того, как попытается получить доступ к его height
и width
размерам?
РЕДАКТ. 1: Я очистил и прокомментировал код в моем jsfiddle, чтобы облегчить понимание примера.
РЕДАКТИРОВАТЬ 2: условие гонки или вариация, основанная на кешировании, потому что когда я запускаю код с другой машины, он работает правильно (т. е. верхнее поле рассчитывается правильно), что на самом деле не хорошо , поскольку оно не согласовано.Несоответствия более очевидны в Chrome, FWIW.
Кроме того, чтобы быть ясным, цель не состоит в том, чтобы вызывать init
каждый раз, когда загружается изображение;скорее init
следует называть один раз после загрузки всех изображений через вызов AJAX load
.