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();
});
});