Показать сообщение отдельно
  #1 (permalink)  
Старый 27.08.2010, 05:21
Аватар для greatilya
Интернет-турист
Отправить личное сообщение для greatilya Посмотреть профиль Найти все сообщения от greatilya
 
Регистрация: 01.08.2008
Сообщений: 516

Изменение размеров картинки при загрузке
На странице имеется несколько десятков изображений, размеры которых: от 100х100 до 800х800. Необходимо чтобы при загрузке они изменялись в размерах пропорционально и вписывались в размерную рамку 174х214.
Написал следующий скрипт:

$(function() {
			$(".wrapper_pic_td img").each(function() {
				var newW = 174;
		        var newH = 214;
				var oldW = $(this).width();
				var oldH = $(this).height();
				if(oldW > newW || oldH > newH)
				{
					if(parseInt((newW/oldW) * oldH) <= newH)
					{
						$(this).width(newW);
						$(this).height(parseInt((newW/oldW) * oldH));
					}
					else
					{
						$(this).height(newH);
						$(this).width(parseInt((newH/oldH) * oldW));
					}
				}
			});
		});

Пробовал его вставлять как сразу после вывода изображений, так и в область $(document).ready(function(){ });
Всё равно присутствовал баг: при загрузке страницы картинки не меняли своего размера. Но если обновить страницу то все размеры правильно проставлялись.
Как я понимаю дело в том что при первой загрузке картинки еще не прогрузились, а я уже вызвал скрипт изменения размеров. К какому событию правильнее будет цеплять данную функцию?

PS: средствами PHP размеры проставить возможности нет
__________________
VPS от 175 рублей (есть скидки 15% писать в ПМ) Анализ рынка VPS серверов
Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не уверен.
Альберт Эйнштейн
Ответить с цитированием