[web] UI 인터랙션

UI 인터랙션

강사: 야무

발표자료

내용

Part 1 . CSS Animation

CSS3 Animation

Part 2 . DOM Script

뉘앙스를 이해하자!

HTML Markup & UI

Selecting DOM Element : querySelector()

Selecting DOM Element : querySelectorAll()

Click Event Handling

/* DOM API : 사용자가 문서 요소를 클릭하면 동작하도록 하는 방법
 * 문서_객체.addEventListener('이벤트_유형', 실행될_함수)
 */

// 클릭 시, 실행 될 함수
const onClickAction = (event) => {
  console.log('이벤트 유형:', event.type)
}

// 첫번째 메뉴 아이템 버튼 클릭 시, 연결된 함수 실행
menuItemButtons[0].addEventListener('click', onClickAction)

Programming : Show Detail Modal

elList('.ediya-menu__item a[role="button"]').forEach(button =>
  button.addEventListener('click', showDetailModal)
)

const showDetailModal = e => {
  const button = e.currentTarget            // 클릭한 버튼(a[role="button"] 요소)
  const modal = button.nextElementSibling   // 버튼에 인접한 다음 요소는 '모달'(div[role="dialog"])
  button.setAttribute('aria-pressed', true) // 버튼 요소를 '누른' 상태로 변경
  modal.removeAttribute('hidden')           // 모달 요소의 hidden 속성 제거
  // 모달 요소에 is-active 클래스 속성 추가
  window.setTimeout(() => modal.classList.add('is-active'), 0)
  // 브라우저 기본 동작 차단
  e.preventDefault()
}

Part 3 . Front-End Framework

리액트 맛보기