Показать сообщение отдельно
  #1 (permalink)  
Старый 07.07.2012, 22:00
Интересующийся
Отправить личное сообщение для Vision Посмотреть профиль Найти все сообщения от Vision
 
Регистрация: 28.03.2012
Сообщений: 10

Расчет реальных размеров изображения в галерее
Доброго времени суток. Есть следующая задачка. Имеется галерея из 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, поэтому прошу помощи в реализации этой идеи! Спасибо заранее
Ответить с цитированием