2015-01-04 163 views
0

我寫過這個函數來自動調整嵌套在指定div中的未知數量的圖像的大小。換句話說,寬度應該始終爲225px,高度應該相對於原始圖像大小而改變。用jquery自動調整圖像大小

不幸的是我的代碼似乎不工作,警報總是返回「null」。我究竟做錯了什麼?非常感謝。

$(function resizeImg() { 
var height = new Array(); 
var width = new Array(); 
var newHeight = new Array(); 
var count = $(".floatRight").find('img').length; 
if ($("img").parent().hasClass("floatRight")) { 
    for (i = 0; i < count; i++) { 
     height[i] = $("img:eq(i)").height(); 
     width[i] = $("img:eq(i)").width(); 
     newWidth = 225; 
     newHeight[i] = (newWidth*height[i])/width[i]; 
     $("img:eq(i)").css({ 
       "height": newHeight[i], 
       "width": newWidth 
       }); 
     alert (height[i]); 
     alert (width[i]); 
    } 
} 
}); 
+0

您沒有設置高度。如果您只設置寬度並保持高度不變,圖像將按比例縮放。 – jfriend00

+0

很多事情都不對。 '$(「img:eq(i)」)'根本不起作用。您還必須等到圖像加載之後才能查詢它們的高度和寬度。 – jfriend00

+0

許多問題,其中第一個是圖像需要時間來加載,直到加載它們將不具有維度,除非它們在標記中指定。你的'if'不能正常工作,你不可能瞄準正確的圖像 – charlietfl

回答

2

刪除您的代碼,並把下面的CSS在網頁上:

<style> 
    .floatRight img{ 
    width:225px; 
    } 
</style> 

這應該做的伎倆......