2013-06-18 3 views
1

폭. 기사 상단에는 이미지가 있습니다. 이미지의 너비가 600 픽셀보다 작 으면 이미지를 float:left;으로 만들고 싶습니다. 그러나 이미지의 너비가 600 픽셀을 넘으면 div가 들어 있기를 원하고 전체 700 픽셀로 넓혀서 텍스트를 강제로 만듭니다. 그것 아래 neath. 예 : 640 픽셀 너비의 이미지가 있습니다. 불행하게도, 텍스트는 여전히 랩핑되어 있으므로 이미지의 오른쪽에 단어 덩어리가 표시됩니다 ... 그래서 이미지가 전체 너비에 걸쳐 있도록 div가 필요한 것입니다.jQuery를 .addClass 내가 할 노력하고있어

저는 jQuery를 작동 시키려고 노력해 왔으며 3 가지 방법을 시도했지만 아무 것도 작동하지 않았습니다. 나는 뭔가를 놓친 것 같아. 그것이하는 일은 이미지의 너비와 상관없이 div 픽셀을 700 픽셀로 만드는 것입니다.

$(document).ready(function() { 
var img = $(".story-img > img"); 
var storydiv = $(".story-img"); 
var width = img.width(); 
if (width < 300) 
    storydiv.addClass("large"); 
}); 

는 jQuery를가 정상 작동하고 ".story-IMG"사업부에 클래스를 추가하고, 그러나에 관계없이의를 수행합니다

<div class="story-img"> 
    <img src="images/sample-article-sm.png" alt="A guy installing Solar Panels" width="350"/><br/> 
    <span class="caption">Solar panels being installed on a roof.</span> 
</div> 

jQuery를 내가 사용하고 있습니다 이미지 폭. 처음에는 너비가 이미지에 지정되지 않았기 때문에 (동적으로로드 될 것입니다) 생각했습니다. 폭이 왜 잡히지 않는거야? 이미지가 DOM에 추가되기 전에

답변

2

가 실제로는 폭을 잡고있다

그래서 load 이벤트

$('.myImage').load(function(){ 
    alert($(this).width()); 
    alert($(this).height()); 
    //do something here 
}); 
+0

나는 $ ('. 이야기 IMG') '로 변경을 사용해보십시오. 부하 (function() {'그리고 여전히 동작하지 않는다 : ( ) $ ('. story-img img') .load (function() {' – established82