На странице имеется несколько десятков изображений, размеры которых: от 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 размеры проставить возможности нет