2011-08-26 50 views
1

需要jquery圖像調整大小,如果圖像寬度> 400然後使用調整大小寬度:50%,像100X100小尺寸的其他圖像不需要調整大小。圖像調整與jquery

我使用此代碼

var max_size = 400; 
$(".comment p.message a.fancy img").each(function(i) { 
    if ($(this).height() > $(this).width()) { 
    var h = max_size; 
    var w = Math.ceil($(this).width()/$(this).height() * max_size); 
    } else { 
    var w = max_size; 
    var h = Math.ceil($(this).height()/$(this).width() * max_size); 
    } 
    $(this).css({ height: h, width: w }); 
}); 

但這個代碼不檢查更小的圖像。

+1

我不知道這是否是解決方案,但將對象傳遞給.css()的正確表示法是$(this).css({'height':h,'width':w}) ;' – m90

+1

@ m90:'{height:h,width:w}'很好。 –

+0

@mu太短:昨天有完全相同的問題,而沒有使用引號爲我拋出一個錯誤? – m90

回答

0

嘗試這種情況:http://jsfiddle.net/aJffu/2/

var maxsize = 400; 

$("#images img").each(function() { 
    var t = $(this); 
    var maxdim = Math.max(t.width(), t.height()); 
    if (maxdim > maxsize) { 
     t.css({ 
      width: t.width()/2, 
      height: t.height()/2 
     }); 
    } 
}); 

這半部的圖像的大小,如果寬度或高度超過maxsize。不應該很難適應您的具體需求。例如,this version會縮放圖像,使其最長尺寸爲maxsize