2013-01-06 64 views
0

我知道我可以将一个事件侦听器来加载图像,这样,当图像加载完成这样它就会产生:JavaScript图片OnLoad事件

<img id="mine" src="image.jpg" /> 

<script> 
$('#mine').load(function() { 
    console.log($(this).height()); //The image's height 
    console.log($(this).width()); //The image's width 
}) 
</script> 

但我的浏览器知道图像有多大去尽快头装入时 - 我能够领略到该事件,所以,一旦浏览器知道图像的大小,我可以调整我的页面上的元素?

谢谢!

回答

2

不,你不能。但是,您应该将图像的尺寸与标签一起传递。

<img id="mine" src="image.jpg" width="100" height="100"> 

例如,在PHP中,您可以使用getimagesize()函数。

它甚至a recommended practice改善浏览器的渲染。

+0

不应该'width'和'height'处于'style'属性? –

+1

@Bagavatu,两种方法都可行 – Alexander

+1

的'height'和'width'属性可以“显得”过时了,但他们比接受。另请参见[图像宽度/高度作为属性或在CSS?](http://stackoverflow.com/questions/640190/image-width-height-as-an-attribute-or-in-css) – Boaz