UI 프로젝트발행일 2022. 7. 23.원본 https://blog.naver.com/jword_/222825905316 ↗

삼항연산자를 활용하여 패널 순서 정리하기 (parseInt & getAttribute) (7)

삼항연산자를 활용하여 패널 순서 정리하기 (parseInt & getAttribute) (7) — #preventdefault #getattribute #parseInt #삼항연산자 웹사이트 디자인 소개 및 학습목표 디자인소개 패...

#SVG UI#Naver Blog

#preventdefault #getattribute #parseInt #삼항연산자

웹사이트 디자인 소개 및 학습목표

#

디자인소개

패스트 캠퍼스 "최성일"강사님의 강의를 듣고 내용정리한 글입니다. 디자인은 강의의 템플릿을 아주 살짝 변형하였습니다. 모든 디자인 저작권은 강사님께 있습니다.

​

처음부터 끝까지 하나 하나 손코딩 하는 모습을 보여드릴 것이며. 이전글을 보고오시면 더욱 이해가 빠릅니다.

​

학습목표

  • UP버튼 클릭시 이전에 만들어 두었던 역동적인 인터렉션이 구현 되도록 설정할 것이다.
  • 이글을 보고 오면 더 이해가 빠를 수 있다.(뮤직플레이어 UI)

사용되는언어

HTML

  • data-index로 임의의 데이터 태그에 부여하기

​

JS

  • querySelector로 필요한 태그 모두 찾기
  • addEventListener로 "click" 이벤트 구현하기
  • getAttribute로 data-index값 가져오기

HTML

li에 data-index 값 부여하기

<li data-index="0"> //.bg생략 </li> <li data-index="1"> //.bg생략 </li>​ <li data-index="2"> //.bg생략 </li>​ <li data-index="3"> //.bg생략 </li>li 속성 추가"data-index"​js에서 활용할 li태그에 data-index를 부여하였다.순서값을 임의로 부여한 것으로 보면 이해가 쉬울듯하다​​​​​

​

JS

필요 태그 모두 찾기

​const panel= document.querySelector('.panel');​const panel\_li = panel.querySelectorAll('li');​const btnUp = document.querySelector('.btnUp');​const btnDown = document.querySelector('.btnDown');​const len = panel\_li.length-1;​panel = ul .panelpanel\_li = ul> libtnUp = .btnUpbtnDown = .btnDownlen = 전체 패널 갯수 -1 =3 ​//이유:패널수는 4인데 배열은 0부터 싲가해서 전체 배열의 index값은 최대 3이 됨. 활용할 수 있도록 설정​

.btnUp 클릭이벤트 만들기

btnUp.addEventListener ("click", e=>{ e.preventDfault();})btnUp에 클릭이벤트를 우선 걸어준다.preventDfault();는 a태그 본기능을 막아준다 (링크기능)

in "click"이벤트 1) 필요한 요소 만들기

btnUp.addEventListener ("click", e=>{ current\_item = panel.querySelector('.on');​ let current\_index = parseInt(current\_item.getAttribute("data-index"));​ let next\_index = null; })in "click" = btnUp버튼 클릭시current\_item = on이 붙은 '현재' 패널current\_index = on 패널의 data-index를 정수로 변환 한 값 //data-index 속성은 문자라서 정수로 변환 해줘야한다.next\_index = 다음 패널의 순번 비워둔다 //함수활용할 것

​

in "click"이벤트 2)삼항연산자

btnUp.addEventListener ("click",e=>{ ​ (current\_index !==len) ? next\_index=current\_index+1 : next\_index=0;​})삼항연산자란?(조건) ? true일때 시행 : false일때 시행 현재 패널이 마지막 번째(3)이라면, 다음 패널은 0이되고 아니라면 +1더해준다.이후 패널 순서에 따라 class on, up, down을 계속해서 바꿔야 하기 떄문에 next\_index값을 필수로 구해줘야 한다.

복습

​

#

짚어갈 포인트

  • data-index 속성
  • parseInt
  • getAttribute
  • 삼항연산자

​

​

​

​

​

js위주라 다소 어렵고 지루할 수 있는 파트이다. 어려우면 이글은 넘어가고 모두 공부한 후 다시 복습할 때 보면 도움이 될거라고 생각한다...! 거의 다왔다 조금만 힘내자 !