2011-03-27 4 views
0

div에 포함 된 콘텐츠를 클래스 광고 컨테이너와 함께 나열하는 페이지가 있습니다. 그 컨테이너에는 클래스 ad-contact와 숨겨진 div가 있습니다. 광고 클래스의 공중제비에 나는 광고 정보의 디스플레이를 움직이기 원합니다. paticular 페이지에 여러 개의 광고가 있기 때문에, 나는 현재 광고 컨테이너의 광고 정보 만 넣고 싶습니다. 내 문제는 광고 위에 마우스를 올려 놓을 때 10 개 이상의 광고가 있기 때문에, 모든 광고 - divs에 문의하십시오. slideDownJQuery Selector 여러 클래스 (this)

$(document).ready(function() { 
    $('.ad-container').hover(
          function(){ 
           $(".ad-contact").slideDown(1000); 
          }, 
          function(){ 
           $(".ad-contact").slideUp(1000); 
    }); 

}); 

여기는 (this)가 사용되었지만 확실하지 않습니다. 그리고 이것은 정말로 나를 위해 빛을 비춰 줄 것입니다.

<div class="ad-container"> 

     <div class="ad-title">title<span class="ad-title-img">(pic)</span></div> 
     <div class="ad-description">texttext</div> 
     <div class="ad-contact" style="display:none">contact poster</div> 
     <div class="ad-sellerinfo" style="display:none">* Verified ***-****<br /> 
Paid Member</div> 
     </div> 

답변

2

jQuery 생성자는 선택 항목의 컨텍스트를 덮어 쓰는 데 사용할 수있는 두 번째 매개 변수를 허용합니다. 이런 식으로 뭔가 작업을해야합니다 :

또한
$(document).ready(function() { 
    $('.ad-container').hover(
          function(){ 
           $(".ad-contact", this).slideDown(1000); 
          }, 
          function(){ 
           $(".ad-contact", this).slideUp(1000); 
    }); 

}); 

은 언급 할 가치, $(".ad-contact", this) 내부적으로 변환됩니다 $(this).find(".ad-contact") 그래서 당신은 약간 빠를 수도, 대신 하나를 사용할 수 있습니다.

+0

수천 개의 요소에 대해 더 빨리 언급 해 주셔서 감사합니다. –

0

이 작업을 처리하기 위해 이벤트를 사용해야 먼저 필요 광고 container.hover (함수 (이벤트) { event.target.children();

})와 같은

다음 this.show(). delay (1000) .hide();

복사하여 붙여 넣을 때 편집기에서 코드를 직접 작성해야하는 경우 코드 샘플 제공 기능이 작동하지 않을 수 있습니다.

1

당신은 .children() 선택 사용할 수 있습니다

$(this).children(".ad-contact").slideDown(1000); 

만 클래스 ad-contact에 역할을이 방법의 경우

(현재 공중 선회하고있는 객체이다) 컨텍스트 에서 객체의 자식

working demo here

+0

고마워요. –

+0

전혀 문제 없어요.) – Scoobler