2011-03-12 6 views
4
내가 JS 사용하여 열고 닫습니다 사업부를 (위/아래 슬라이드) 다음 코드를 사용하고

에 사업부를 밀어슬라이드 및 클릭

나는 버튼에 연결된 이벤트 아래로 슬라이드 및 슬라이드 업 이벤트를 텍스트를 닫으려고 sttached.

내가 원하는 것은 버튼 onclick을 열고 onclick 다시 슬라이드 요소를 닫습니다.

<span class="grabPromo">Open</span> 

및 영역 아래 슬라이드

제가
<a class="closeSlide">Close</a> 

어떤 도움을 가지고

여기 HTML은 JS

// slide down effect 

$(function(){ 
$('.grabPromo').click(function(){ 
var parent = $(this).parents('.promo'); 
$(parent).find('.slideDown').slideDown(); 
}); 
$('.closeSlide').click(function(){ 
var parent = $(this).parents('.promo'); 
$(parent).find('.slideDown').slideUp(); 
}); 
}); 

이다.

이상적으로는 아래쪽 방향 버튼을 가리키는 화살표와 위 방향 화살표를 사용하여 동일한 버튼을 위로 움직여야합니다. 그리고 가까운 관계를 완전히 버리십시오.

도움을 주시면 감사하겠습니다. 건배

답변

9

이 시도. 여러 항목을 허용하므로 ID별로 다릅니다. AJAX를 통해로드 된 모든 컨텐츠도 지원합니다. jsfiddle is here

<div class='toggle_parent'> 
    <div class='toggleHolder'> 
    <span class='toggler'>Open</span> 
    <span class-'toggler' style='display:none;'>Close</span> 
    </div> 
    <div class='toggled_content' style='display:none;'> 
     My Content 
    </div> 
</div> 

$('.toggler').live('click',function(){ 
    $(this).parent().children().toggle(); //swaps the display:none between the two spans 
    $(this).parent().parent().find('.toggled_content').slideToggle(); //swap the display of the main content with slide action 

}); 
+1

완벽한! 그냥 내가 뭘했는지, 투표 해 줬어. – 422

6
<div id="content"> 
bla bla bla bla bla bla bla bla blabla bla blabla bla bla 
</div> 
<input type="button" id="myButton" value="Slide down ↓"/> 

$("#myButton").toggle(function(){ 
    $("#content").slideDown(); 
    $(this).val("Slide up ↑"); 
},function(){ 
    $("#content").slideUp(); 
    $(this).val("Slide down ↓") 
}); 

온라인 데모 : http://jsfiddle.net/amosrivera/AYWku/

데모 span과 : http://jsfiddle.net/amosrivera/AYWku/1/

+0

것은이 잘 될 것입니다,하지만 난 입력 버튼을 사용하려는 해달라고 . 우리는 이 거래를 사용합니다 422

+1

@amosrivera, 하하 좋은 화살표 기호. –

+1

@ 422, 클릭 요소가 무엇인지는 중요하지 않습니다. 기능을 부여 했으므로 원할 경우 입력 범위를 변경할 수 있습니다. 동일한 ID가 필요합니다. –

12

당신은 단지 클릭 기능에 slideToggle()를 사용할 수 있습니다

$('.grabPromo').click(function(e){ 
    $('.slideDown').slideToggle(); 
}); 

Here's a demo.

관련 문제