Jquery.width() хром и проблема сафари

Я установил в css высоту изображения для определенного значения, и ширина автоматически изменяется, так что соотношение сторон сохраняется. Я использую функцию .width() jquery, чтобы получить ширину изображения после того, как css изменил размер изображения. в Firefox и Internet Explorer это отлично работает, но в хроме и сафари ширина возвращаемой всегда равна 0 для каждого изображения. код, который я использую, следующий:

var total=0; 
var widthdiv=0;
$(function(){
    $('.thumb').each(function(){
       widthdiv=$(this).width();
       total+=widthdiv;
       alert(widthdiv); //added so i can see what value is returned.
    });
});

и css для изображений:

#poze img{
    height:80px;
    width:auto;
    border:0px;
    padding-right:4px;    
}

Ответы

Ответ 1

В document.ready (который вы используете) изображения могут быть загружены или не загружены, если они не находятся в кеше, они, вероятно, не загружены. Вместо этого используйте window.onload событие при загрузке изображений, например:

var total=0; 
$(window).load(function() {
  $('.thumb').each(function() {
    total += $(this).width();
  });
});