Доброго времени суток. Есть следующая задачка. Имеется галерея из N фоток. Необходимо для каждого изображения в галерее пересчитать марджины в зависимости от ширины и высоты изображения. Чтобы получить реальный размер изображения пользуюсь следующим методом (накопал на просторах):
Код:
|
var $imgl = $("img.stretch");
//удаляем src для того чтобы сработал img.load (иначе кэш заблочит)
var src = $imgl.attr("src");
$imgl.attr("src", "");
$imgl.attr("src", src);
// когда изображение загружено
$imgl.load(function() {
// удаляем все width & height из стилей и аттрибутов
$(this).removeAttr("width")
.removeAttr("height")
.css({ width: "", height: "" });
// получаем родные width & height
var iw = $(this).width();
var ih = $(this).height();
// дальше идет требуемый пересчет
....
});
|
чтобы пересчитать все изображения с классом .stretch пытался использовать конструкцию
Код:
|
$(".stretch").each(function () {
var src = $(this).attr("src");
$(this).attr("src", "");
$(this).attr("src", src);...
|
но она почему то в iw и ih возвращает 0. Может есть возможность, присвоив каждому изображению класса .stretch айди в стиле id="F_1", id="F_2"... перебрать все изображения для этого класса и для каждого айди выполнить пересчет. Я к сожалению не настолько силен в JS, поэтому прошу помощи в реализации этой идеи! Спасибо заранее