У меня есть веб-приложение, которое загружает некоторый контент из внешнего источника в dom через вызов ajax, одна из вещей, которая возвращается, это набор изображений (разных размеров и форматов), которые должны отображаться враздел фото профиля.Я хотел бы, чтобы каждое из изображений было изменено в соответствии с областью размером 64 x 64 пикселя, и я хотел бы сохранить соотношение сторон.Я смог сделать это в Firefox, Chrome и Safari, но мне не повезло заставить его работать в IE 7 или 8. Проблема, с которой я столкнулся, заключается в нахождении события jquery, которое надежно запускается после загрузки изображения, так какизображение было добавлено после загрузки страницы.Вот что работает в перечисленных браузерах:
$(window).load(function () {
$('.profileThumbnail').each(function (i) {
var divHeight = $(this).height();
var divWidth = $(this).width();
if (divHeight > divWidth) {
$(this).css('height', '64px');
$(this).css('width', 'auto');
}
else {
$(this).css('height', 'auto');
$(this).css('width', '64px');
}
divHeight = $(this).height();
var divParentHeight = $(this).parent().parent().height();
var divNewHeight = (divParentHeight - divHeight) / 2;
$(this).parent().css('top', divNewHeight);
divWidth = $(this).width();
var divParentWidth = $(this).parent().parent().width();
var divNewWidth = (divParentWidth - divWidth) / 2;
$(this).parent().css('left', divNewWidth);
});
});
Я также пытаюсь центрировать (по горизонтали и вертикали) их, что и делает остальная часть этого кода, но я думаю, что у меня есть все этоработая, если я могу найти способ вызвать этот код после загрузки изображения в IE.
имейте в виду, что это должно работать как при первом посещении (без кэширования), так и при последующих посещениях (кэширование).Я ищу решение jquery, javascript или css, поскольку хочу избежать обхода / пропускной способности для каждого изображения.