토글메뉴 js질문
본문
지난번 질문 (요기) 에서
답변을 얻고 기쁜 마음으로 적용을 해 보았는데요...
일단 원하는 부분을 해결했다고 생각했는데,
같은 부분을 여러개 나열할 상황이라 (지난 질문의 html 내용을 너댓개 나열할 예정)
제가 원하는 움직임은 여기와 같이 첫번째 영역만 보인 후,
두번째 영역을 클릭했을 때 첫번째 영역이 닫히지 않고 그대로
아래로 두번째 영역이 나타나는 형식으로 하고 싶습니다.
그런데 지난번 질문 에서 얻은 답변으로 코드를 넣으면
두번째 영역을 클릭하면 첫번째 영역이 닫히고 그러네요 ㅠ ㅠ
혹시 방법이 없을까요?
답변 3
버튼도 마찬가지로
$('.btn_worksToggle i').eq(index).toggleClass('fa-chevron-circle-down fa-minus-circle');
기존 소스에서 .eq(index) 부분만 추가해주시면 됩니다.
<style>
.slideBox { display:none; }
.defaultOpen { display:block }
</style>
<div class="worksToggle">첫번째
<div class="slideBox defaultOpen">
내용1
</div>
</div>
<div class="worksToggle">두번째
<div class="slideBox">
내용2
</div>
</div>
<script>
//slideBox
$(document).ready(function(){
$(".worksToggle").click(function(){
var index = $(this).index();
$('.slideBox').eq(index).slideToggle('slow');
});
});
</script>
더 좋은 방법이 있을것도 같은데 제가 생각해낸 방법은 이 방법인데 원하시는게 맞나 모르겠네요
!-->$(".btn_worksToggle").click(function(){
var index = $(".btn_worksToggle").index($(this));
$('.worksToggle').eq(index).slideToggle('slow');
});
로 클래스명만 쓰시는걸로 변경해봤습니다.
제가 임의로 해봤을때는 정상적인데 원하시는게 맞나 모르겠습니다.
답변을 작성하시기 전에 로그인 해주세요.