Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   определение высоты и ширины img (https://javascript.ru/forum/dom-window/43827-opredelenie-vysoty-i-shiriny-img.html)

imediasun1 23.12.2013 00:35

определение высоты и ширины img
 
Здравствуйте, не могу понять что происходит написаны два почти одинаковых кода определяющих ширину и высоту картинки но первый корректно работает а второй высоту дает 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);
});


Часовой пояс GMT +3, время: 20:40.