определение высоты и ширины 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, время: 09:27. |