아코디언 패널이란?
해당 구역을 클릭 시 아래로 펼쳐지는 제이쿼리 동작으로 애니메이션 효과도 줄 수 있다.
<script src="http://code.jquery.com/jquery-3.1.0.min.js"></script>
우선 jquery를 사용하기 위해서 jquery를 불러온다
HTML형식
<section class="example1">
<h2>아코디언 패널 예시</h2>
<p>해당 구역을 클릭 시 아래로 펼쳐지는 제이쿼리 동작입니다</p>
<dl>
<dt>프로젝트이름</dt>
<dd style="display:none;">겜칭</dd>
<dt>지금은 뭐하는거임?</dt>
<dd style="display:none;">Jquery 아코디언패널</dd>
<dt>왜 할려고??</dt>
<dd style="display:none;">유저 프로필 눌렀을 때 메뉴목록 보여주게</dd>
</dl>
</section>
dd 태그는 style = "display:none 이기 때문에 보이지 않는다.
Script문
$(function(){
$(".example1 dt").click(function(){
if($(this).next().css("display") == "none"){
$(this).next().slideDown(200);
}else{
$(this).next().slideUp(200);
}
});
script문에서 class="example1인 엘리먼트가 click되었을 때에 함수를 정의해 놨다.
next()는 선택한 요소의 바로 다음에 위치한 형제요소를 가르킨다.
display가 none으로 되어있을 경우에는 slideDown을 통해서 아래로 내려가는 애니메이션으로 dd에 있던 내용이 보여진다.
그 반대일 경우는 slideUp이 되어서 다시 dd태그가 안보이게 된다.
실제화면
프로젝트 이름을 눌렀을 때, 겜칭이라고 애니메이션 효과와 같이 글자가 보이게된다.
전체 한번씩 눌렀을 때의 모습
다시 클릭하게되면 사라진 것을 볼 수 있다.
'IT 공부 > Javascript' 카테고리의 다른 글
[ React ] 환경 및 새로운 프로젝트 생성 방법 (0) | 2022.01.12 |
---|---|
[ Vue.js ] vue 이용해서 웹프로젝트 시작하기! (라우팅 / bootstrap) (0) | 2021.08.04 |
[ JavaScript ] Class - 객체지향 개발 (0) | 2021.06.24 |
[ JavaScript ] function (0) | 2021.06.23 |
[ JavaScript ] 변수선언 ( var과 let의 차이점은??) (0) | 2021.06.20 |