2015-01-12 80 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

相關問題