Здравствуйте, не могу понять что происходит написаны два почти одинаковых кода определяющих ширину и высоту картинки но первый корректно работает а второй высоту дает 0, в чем дело, подскажите
http://imedia.in.ua/main/page/catalog_add
var $img = $('#messages img');
// ждем загрузки картинки браузером
$img.load(function(){
// удаляем атрибуты width и height
$(this).removeAttr("width")
.removeAttr("height")
.css({ width: "", height: "" });
// получаем заветные цифры
var width = $(this).width();
var height = $(this).height();
alert(width+'х'+height)
if (width>height ){
$(this).width(300);
$(this).css('margin-left',-150);
$(this).css('margin-top',-height/2);
}
else{
$(this).height(300);
$(this).css('margin-left',-width/2);
$(this).css('margin-top',-150);
}
});
// для тех браузеров, которые подгрузку с кеша не считают загрузкой, пишем следующий код
$img.each(function() {
var src = $(this).attr('src');
$(this).attr('src', '');
$(this).attr('src', src);
});
var $img2 = $('#messages2 img');
// ждем загрузки картинки браузером
$img2.load(function(){
// удаляем атрибуты width и height
$(this).removeAttr("width")
.removeAttr("height")
.css({ width: "", height: "" });
// получаем заветные цифры
var width = $(this).width();
var height = $(this).height();
alert(width+'х'+height)
if (width>height ){
$(this).width(70);
$(this).css('margin-left',-35);
$(this).css('margin-top',-35);
}
else{
$(this).height(70);
$(this).css('margin-left',-35);
$(this).css('margin-top',-35);
}
});
// для тех браузеров, которые подгрузку с кеша не считают загрузкой, пишем следующий код
$img2.each(function() {
var src = $(this).attr('src');
$(this).attr('src', '');
$(this).attr('src', src);
});