2014-02-25 4 views
-1

검색에서이 문구를 사용하는 데 문제가있어 문제를 설명하는 항목을 찾을 수없는 것 같습니다. 여기서는 도움이 필요합니다!내 Jquery .click 함수에서 사용할 "this"지정하기

다음은 내 JS입니다 :

$(".container").hover(function() { 
     $(this).next().slideDown(500); 
     $(this).css("opacity", "0.5"); 
    }); 

    $(".overlay > img").click(function() { 
     $(this).slideUp(500); 
     $(this).hide(750); 
     $(this).prev().css("opacity", "1.0"); 
    }); 

내 HTML을 게시해야하지만, 나는 그것을 설명 할 수있을만큼 간단합니다 생각합니다. 내 오버레이 컨테이너 (".overlay")를 슬라이드하기위한 호버 이벤트가있는 콘텐츠 컨테이너 (". 컨테이너")가 있습니다. 오버레이 컨테이너가 올라 오면 사용자는 작은 'x'를 클릭하여 닫을 수 있습니다 (즉 img). 그러나 나는이 컨테이너와 오버레이 div 중 몇 개를 내 페이지 전체에 걸쳐 가지고 있는데 왜 "this"셀렉터를 사용하고 있는가. .click 함수에서 "this"를 img 대신 ".overlay"클래스 만 참조하는 방법은 무엇입니까? 현재는 'x'이미지를 숨 깁니다.

모든 도움에 감사드립니다 !!!!

+0

왜 downvote을 대상으로해야! –

답변

2

사용 :

$(this).closest('.overlay'); 

이것은 class='overlay'와 가장 가까운 부모에게 다시 나무 위로를 보낼 것입니다, 당신은 그 반대 역할을 할 수 있습니다.

+0

고맙습니다. 훌륭한 작품입니다! –

1
$(this).parent() 

는 이유없이 .overlay

+0

글쎄,이 상황에서 작동합니다. 그렇지 않으면 $ (this) .closest ('. overlay')를 사용할 수 있습니다. – Freaxy