2013-09-08 3 views
1

콘텐츠를 볼 수 있도록 아래로 이동하는 slideToggle이 있습니다. 그러나 지금은 한 페이지에 여러 개가 있습니다. 따라서 클릭하면 콘텐츠를 모두 내리고 볼 수있게됩니다. 내가 뭘하고 싶은지는 하나만 클릭하면 그 하나의 .tst 요소가 토글됩니다.여러 SlideToggle jQuery

<script type="text/javascript"> 
    $('.tst').hide(); 
    $("div.slide").addClass('up_arrow') 
    $("div.slide").click(function(){ 
     $("div.slide").toggleClass('up_arrow').toggleClass('down_arrow'); 
     $(".tst").slideToggle('slow', function(){ 
     }); 
     }); 
</script> 

이 그냥 모든 .tst div의 반대로 당신이 클릭을 아래로 슬라이드 만들 수있는 방법이 있나요?

EDIT : 요청 된 HTML 태그는 :

<div class="slide"></div> 
    <div class="tst"> 
     <div class="courseinfo"> 
      <ul> 
       <li> 
        <ul> 
         <li><b>»</b>&nbsp;<a href="#">info</a></li> 
         <li>info</li> 
         <li><span class="rowUCAS">info</span></li> 
         <li><a href="#">External link</a></li> 
        </ul> 
       </li> 
      </ul> 
     </div> 
    </div> 
+0

HTML도 포함해야합니다. – Boaz

+0

토글 컨트롤과 연관된 각 .tst 요소에 "id"를 지정하거나 사용하고 HTML에 따라 .closest() 선택기를 사용하려고합니다. Rgds, AB –

+0

각 클래스는 클래스가 아닌 id로 대상을 지정하고자합니다. – itsmikem

답변

0

대신 함수 내부 선택기를 사용하는 클릭 된 요소를 대상 $(this)를 사용한다. 예 :

<script type="text/javascript"> 
    $('.tst').hide(); 
    $("div.slide").addClass('up_arrow') 
    $("div.slide").click(function(){ 
     $(this).toggleClass('up_arrow').toggleClass('down_arrow'); 
     $(".tst").slideToggle('slow') 
     }); 
</script> 

선택기 $(this)은 이벤트를 트리거하는 요소를 대상으로합니다. 다음 선택이 작동 할

<div class="slide"></div> 
<div class="tst"> 
    ... 
</div> 

:

<div class="slide"> 
    <div class="tst"> 
     ... 
    </div> 
</div> 
:

$("div.slide").click(function(){ 
    $(this).toggleClass('up_arrow').toggleClass('down_arrow'); 
    $(this).next().slideToggle('slow') 
}); 

당신은 div.slide과 같이에서 .tst 중첩에 관심이있을 수 주어진 HTML 마크 업에 따라

이 경우 다음 선택기가 작동합니다

$("div.slide").click(function(){ 
    $(this).toggleClass('up_arrow').toggleClass('down_arrow'); 
    $(this).children('.tst').slideToggle('slow') 
}); 

희망 하시겠습니까?

+0

안녕하세요 @Sikian - 나에게 돌아오고 훌륭한 답변을 해주셔서 감사합니다. 그것은 작동하지만, toggleClass에 대해서만, 위의 코드는 클래스의 개별 스왑을 토글하기 때문에 .tst를 대상으로하는 것이 필요합니다. 어떻게 내가 그 slideToggle 개별 .tst겠습니까? - 희망이 있으십니까? –

+0

.tst와 div.slide 사이에 어떤 관계가 있는지 알지 못하기 때문에 html 코드가 필요합니다. – Sikian

+0

안녕하세요 @Sikian - 난 그냥 아무 데 도움이 될 것이라고 HTML 마크 최대 내 질문을 업데이 트했습니다? 이 문제를 해결할 마지막 비트 일 뿐이니까요! 그래서 도움이되는 어떤 도움이라도 ... –