2015-01-04 4 views
0

이 div 함수는 지정된 div에 중첩 된 알 수없는 이미지의 크기를 자동으로 조정합니다. 즉, 너비는 항상 225 픽셀이어야하며 원본 이미지 크기와 관련하여 높이를 변경해야합니다.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> 

...

관련 문제