2015-01-12 31 views
2

我正在与我的一位朋友合作开发Rails应用程序,并且正在帮助完成一些前端和UI任务。对于其中一个视图,网页只显示用户上传的图片。如何从Javascript中的轨道加载的图像中获得原始图像尺寸?

在我的javascript中,我需要获得每次都可能更改的图像宽度。在这个网站的其他问题上,我看到很多人有解决方案使用类似var image = new Image();但是,由于这个图像是由轨道动态加载,我不能像这样访问图像。

本质上,我如何确定在JavaScript中动态加载的图像的原始尺寸?

肮脏的解决方案,我想象,但会尽量避免:用CSS改变它之前

1获得该项目的宽度 - 例如

originalWidth = img.width(); 
img.css('width','100%'); 

2-具有导轨的应用商店的图像尺寸,以便我可以在JS代码

+0

是''标记中的图像?也许我错过了一些东西,但我不明白为什么你不能使用'new Image()'技术 – chiliNUT

+0

是的。 'src'是由rails动态决定的,我可能会错过一些东西。 'new Image()'技术对我来说不起作用,但是我可能犯了一个我不明白的错误。 –

回答

1

嵌入他们像<%= @image.width%>如果图像元素有一个id或一些其它标识符

img=new Image(); 
img.src=document.getElementById('imgElement').src; 
console.log(img.width,img.height); 
+0

奇怪的是它返回“0”。难道这是我必须设置一个特殊的功能来触发图像完全加载后?编辑:是的,这是问题。 –

+0

啊,是的,图像必须加载:-) – chiliNUT

相关问题