Я пытаюсь изменить размер изображений при загрузке страницы и при изменении размера браузера. Некоторые изображения будут портретными, а некоторые альбомными, и они будут находиться в контейнере div, который также может быть портретным/альбомным (в зависимости от размера браузера). Не имеет значения, должно ли изображение быть растянуто, чтобы заполнить поле (либо на 100% ширины, либо на 100% высоты), и если соотношение не совпадает, произойдет отсечение (через CSS overflow:hidden
).
Мой метод заключался в том, чтобы получить соотношение контейнера (то есть портретное или альбомное) и получить соотношение изображения (портретное или альбомное), сравнить их и соответствующим образом настроить ширину/высоту CSS.
Примечание: все контейнеры будут иметь класс mr_our-dest-img-container
и все будут содержать только 1 элемент img (и несколько других элементов).
Вот код, который у меня есть, который не работает. Он ничего не делает, и я не могу понять это. Может ли кто-нибудь помочь мне исправить это?
$(document).ready(function () {
updateImageSize();
$(window).resize(function() {
updateImageSize();
});
});
function updateImageSize() {
$(".mr_our-dest-img-container").each(function(){
var ratio_cont = jQuery(this).width()/jQuery(this).height();
var $img = jQuery(this).find("img");
var ratio_img = $img.width()/$img.height();
if (ratio_cont > ratio_img)
{
$img.css({"width": "100%", "height": "auto"});
}
else if (ratio_cont < ratio_img)
{
$img.css({"width": "auto", "height": "100%"});
}
}
};
Uncaught SyntaxError: Unexpected token }
и выделяет последнюю фигурную скобку в коде в основном вопросе. Я снова и снова просматривал этот код, фигурные скобки, похоже, отменяют друг друга? - person Michael Ruta   schedule 15.01.2014