슬라이드 토글 질문 한 번 해봅니다...
본문
안녕하세요 선생님들 슬라이드 토글에대해 궁금한점이있어서 질문해봅니다...
일단 제가 하나에 대한 슬라이드 토글을 아래 코드와같이 작성을 했습니다.
<div class="a">
<button class="b">펼치기/숨기기</button>
<div class="c">
박스
<div class="d">닫기</div>
</div>
</div>
$(document).ready(function(){
$(".b").click(function(){
$(".b").toggleClass("e");
$(".c").slideToggle(800);
})
$(".d").click(function(){
$(".b").removeClass("e")
$(".c").slideUp(800);
});
});
이렇게 했을때 버튼이 더 늘어나게되면 id로 값을 해두면 하나만열리고 class로 값을 해두면 전체가 열리고 하는데 이 부분을 juquery의 next 이런부분을 사용하면 해결이 되나요?
어떻게하는지 잘 모르겠어서 질문 올려봅니다...
!-->답변 1
버튼 클래스를 동일하게 주시구요,
$(this) 를 사용해서 접근해보세요,
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<div>
<button class="toggle_btn">펼치기/숨기기</button>
<div class="toggle_content">
내용A
<div class="close_btn">닫기</div>
</div>
</div>
<div>
<button class="toggle_btn">펼치기/숨기기</button>
<div class="toggle_content">
내용B
<div class="close_btn">닫기</div>
</div>
</div>
<div>
<button class="toggle_btn">펼치기/숨기기</button>
<div class="toggle_content">
내용C
<div class="close_btn">닫기</div>
</div>
</div>
<script>
$(document).ready(function() {
$('.toggle_btn').click(function() {
$(this).siblings('.toggle_content').slideToggle();
});
$('.close_btn').click(function() {
$(this).parents('.toggle_content').slideUp();
})
});
</script>