2011-09-12 6 views
0

안녕하세요, 저는 작은 이미지 크기 조정 스크립트에서 작업하고 있는데, 즉, ff에서는 작동하지만 크롬에서는 작동하지 않습니다. 페이지를 새로 고쳐야 작동합니다. 나는 iframe에서 일하고있다. Heres 내 코드jquery image rezise가 크롬에서 작동하지 않습니다.

function resize() { 
    var maxWidth = 200; 

    var width = $("#ImageMainPicture").width(); 
    //alert(width); 
    if (width > maxWidth) { 
     $("#ImageMainPicture").css("width", maxWidth); 
    } 

이것은 jquery doc.ready에서 호출됩니다. 이

+0

함수에 대한'}'이 없다는 것을주의하십시오. 이것은 오류 또는 문제를 일으킬 것입니다. 그러나 아마도 오타가있을 것입니다. –

+0

멋진 HTML로 우리에게 어떤 HTML을 보여주고 있습니까? –

답변

1

$(document).ready() 실행이로드됩니다. 용지를 넣어야 할 때는 $(window).load(을 대신 사용하십시오.

또는 CSS를 사용하십시오! "ImageMainPicture"의 ID로 이미지를 찾아 간격을 시작하는 온로드를 설정합니다 함수를 호출

#ImageMainPicture { 
    max-width: 200px; 
} 
+0

내 친구는 영웅입니다. 때로는 쉬운 대답을 사용할 수있을 때 상황이 복잡해집니다. –

0

보는 모든 사람에게

덕분에 대신을 시도해보십시오

$("#ImageMainPicture").width(maxWidth); 
+0

답장을 보내 주셔서 감사합니다. –

0

는 다음과 같은 시도 이미지가로드되지 않기 때문에 "#ImageMainPicture은"이미지 요소의 경우 경우 $ (문서) .ready() 이미지 전에 당신이 $에 해당 코드를 넣어 가정 있도록 (창) .load()

$(document).ready(function(){ 
    $(window).load(function(){ 
    var maxWidth = 200; 
    var width = $("#ImageMainPicture").outerWidth(); 
    if (width > maxWidth) { 
     $("#ImageMainPicture").css("width", maxWidth); 
    } 
    }); 
}); 
0
function resize() { 
    var $img = $("img#ImageMainPicture"); 

    $img.onload(function() { 
     var onloadInterval = setInterval(function() { 
      // Make sure the image is actually loaded in IE 
      if ($img[0].complete) { 
       clearInterval(onloadInterval); 
       $img.css("width", Math.min($img[0].width, 200)); 
      } 
     }, 100); 
    }); 
} 

. 간격은 이미지 객체의 전체 속성을 확인하여 이미지가 IE에로드 된 것을 확인한 다음 이미지의 너비를 더 작은 값으로 설정합니다.

이렇게하면 이미지가 너비를 조작 할 수 있다는 것을 확신 할 수 있습니다.

관련 문제