我将css的图像高度设置为一定值,宽度会自动修改,以保持宽高比.我使用.width()
jquery函数来获取图像大小后的图像宽度.在Firefox和Internet Explorer中,这是非常好的,但在chrome和safari中,每个图像的返回宽度总是为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; }
解决方法
在document.ready(您正在使用的)中,图像可能被加载,也可能不会被加载,如果它们不在缓存中,那么它们可能没有加载.相反,当加载图像时使用
window.onload
event,如下所示:
var total=0; $(window).load(function() { $('.thumb').each(function() { total += $(this).width(); }); });