2012-09-11 6 views
-1

'.photo'클래스가있는 페이지의 모든 이미지를 가져 와서 해당 이미지의 높이가 두 개 이상인 기사에 '.vertical'클래스를 적용 할 수 있습니까? 450px 키? 내가 이렇게하고있는 이유는 키가 큰 사진의 폭을 줄이기 위해서입니다. 따라서 클래스를 추가하여 표준 폭 500px 대신 250px의 기사를 만드는 스타일을 만드십시오.이미지 높이를 기준으로 클래스 추가

기본적으로 사진의 500px 버전이 페이지에 표시되고 500px 사진의 높이가 450px 이상인 경우 해당 기사에 대한 클래스를 추가하여 문서 전체의 크기를 조정해야합니다.

혼란스러워 보이지만 한 번 이해하면됩니다. 나는이 코드에 익숙하지 않으므로 코드를 이해할 수있다. 나는 무엇을 해야할지 모른다.

답변

4

예, 있습니다.

먼저 이미지 높이를 가져옵니다. How to get image size (height & width) using javascript?

높이가 요구 사항을 충족하는 경우 클래스를 추가하려면 .addClass()을 사용하십시오.

+0

코드를 제공 할 수 있습니까? 나는 jQuery에서 처음이다. –

+4

나도 할 수 있겠지만, 먼저 스스로 해보고, 계속 도움이 필요하면 작업중인 코드로 질문을 업데이트해야한다. jsbin.com은 좋은 것들로 놀 수 있습니다. – sachleen

+0

+1 귀하의 의견을 읽기 전에 솔루션을 밖으로 채찍질. – iambriansreed

0

시도 :

$('img.photo').each(function(){ 
    if($(this).height() > 450) 
     $(this).closest('article').addClass('vertical'); 
}); 

부모 문서 클래스를 추가하도록 업데이트되었습니다. 필요에 따라 선택기 article을 변경하십시오. 희망이 당신이 시작하는 것이다

$(".photo").each(function(i) { 
    if ($(i).height() >450) { 
    $(i).addClass('yourclass'); 
    } 
}); 
+0

내 게시물의 편집 된 버전을 확인하십시오. 코드를 수정하는 방법을 모르겠지만, 필자는 잘못 입력 한 내용을 썼습니다. –

+0

@JamesCharless 업데이트되었습니다. – iambriansreed

0

이 시도 :

$(".photo").each(function(){ 
    var el = $(this); 
    if (el.height() > 450) 
    el.addClass("vertical"); 
}); 
+0

내 게시물의 수정 된 버전을 확인하십시오. 코드를 수정하는 방법을 모르겠지만, 필자는 잘못 입력 한 내용을 썼습니다. –

0

뭔가처럼

$('img.photo').each(function(index) { 
    var height = $(this).height(); 
    if (height > 450) { 
     $(this).parent().addClass('vertical'); 
    } 
}); 

편집 :

하면 .vertical 클래스를 추가에 관해서 기사에 모자에는 마크 업에 따라 이미지가 포함되어 있습니다. @anonymous는 .article의 클래스로 가장 가까운 요소를 찾음으로써 가능한 한 가지 아이디어를 가졌습니다. 직접 부모가 이미지가 포함 된 기사 인 경우 위의 수정 된 코드에서와 같이 parent를 사용할 수도 있습니다.

+0

내 게시물의 수정 된 버전을 확인하십시오, 코드를 수정하는 방법을 모르겠다, 내가 잘못 필요한 것을 썼다. –

0

:

+0

내 게시물의 수정 된 버전을 확인하십시오, 코드를 수정하는 방법을 모르겠다, 내가 잘못 필요한 것을 썼다. –

+0

코드를 편집했습니다. HTML을 보지 않고도 필요한 것을 정확하게 말하기는 어려울 지 모르지만, 내가 가지고있는 것 또는 익명의 것은 당신을 올바른 방향으로 이끌 것입니다. 문제의 콘텐츠를 포함하도록 소식을 수정해야합니다. – davidethell

관련 문제