Programing/javascript

자바스크립트 실무 유틸 함수 시리즈 14 - 반응형 UI 구현을 위한 유틸

2025. 5. 1. 10:01
반응형

이번 14편에서는 브라우저 환경에서 다양한 디바이스와 해상도에 대응할 수 있도록 돕는 반응형 UI 구현을 위한 자바스크립트 유틸 함수들을 정리합니다. 뷰포트, 리사이즈 감지, 미디어 쿼리, 브레이크포인트 관리 등에 활용됩니다.


✅ 1. getViewportSize (현재 뷰포트 크기 가져오기)

📌 화면의 가시 영역 너비와 높이

function getViewportSize() {
  return {
    width: window.innerWidth,
    height: window.innerHeight
  };
}

📌 활용 예시

  • 레이아웃 변경 조건 감지
  • 모바일/태블릿/PC 구분 기준

✅ 2. onResize (창 크기 변경 이벤트 리스너)

📌 리사이즈 이벤트에 콜백 등록

function onResize(callback) {
  window.addEventListener('resize', callback);
  return () => window.removeEventListener('resize', callback);
}

📌 활용 예시

  • 실시간 반응형 레이아웃 재조정
  • 성능 최적화를 위한 debounce와 함께 사용

✅ 3. matchMediaQuery (미디어 쿼리 조건 만족 여부 확인)

📌 CSS 미디어쿼리를 JS에서 감지

function matchMediaQuery(query) {
  return window.matchMedia(query).matches;
}

📌 활용 예시

  • 뷰포트 조건에 따라 JS 코드 분기 처리
  • 다크모드 여부 감지 등도 가능

✅ 4. getBreakpoint (해상도 기준 브레이크포인트 반환)

📌 반응형 기준점 명시적 반환

function getBreakpoint(width = window.innerWidth) {
  if (width < 576) return 'xs';
  if (width < 768) return 'sm';
  if (width < 992) return 'md';
  if (width < 1200) return 'lg';
  return 'xl';
}

📌 활용 예시

  • 반응형 설계 조건 체크
  • 모바일/데스크탑 UI 구분 처리

✅ 5. scrollToElement (특정 요소로 부드럽게 스크롤)

📌 부드러운 스크롤 UX 구현

function scrollToElement(selector) {
  const el = document.querySelector(selector);
  if (el) {
    el.scrollIntoView({ behavior: 'smooth' });
  }
}

📌 활용 예시

  • 반응형 메뉴 클릭 시 섹션 이동
  • 모바일 내비게이션 UX 향상

✅ 결론

반응형 UI는 현대 웹 환경에서 기본 요건입니다. 이번 시리즈에서 다룬 유틸 함수들은 CSS만으로 해결하기 어려운 디바이스 대응, 조건 감지, UX 보완에 큰 도움을 줄 수 있습니다.

반응형

'Programing > javascript' 카테고리의 다른 글

자바스크립트 실무 유틸 함수 시리즈 18 - 스크롤 관련 유틸  (1) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 17 - 이벤트 제어를 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 16 - HTML 요소 조작을 위한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 15 - 폼 입력 검증을 위한 유틸  (1) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 13 - 프론트엔드 성능 측정을 위한 간단한 유틸  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 12 - 배열 고차 함수(map, filter, reduce)  (0) 2025.05.01
자바스크립트 실무 유틸 함수 시리즈 11 - 비동기 처리 및 Promise 관련  (0) 2025.04.29
자바스크립트 실무 유틸 함수 시리즈 10 - 함수형 프로그래밍(FP) 스타일  (0) 2025.04.29
'Programing/javascript' 카테고리의 다른 글
  • 자바스크립트 실무 유틸 함수 시리즈 16 - HTML 요소 조작을 위한 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 15 - 폼 입력 검증을 위한 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 13 - 프론트엔드 성능 측정을 위한 간단한 유틸
  • 자바스크립트 실무 유틸 함수 시리즈 12 - 배열 고차 함수(map, filter, reduce)
Dongkkase
Dongkkase
개발자로 일하면서 부딪히는 문제풀이가 누군가에게 도움이 되길 바라며
    반응형
  • Dongkkase
    정집사의 개발로그
    Dongkkase
  • 전체
    오늘
    어제
    • All (478)
      • 금융 (61)
      • Programing (295)
        • Algorithm (39)
        • API (2)
        • javascript (122)
        • CSS (8)
        • HTML (10)
        • PHP (15)
        • JAVA (27)
        • JSP (17)
        • JSP 예제 (1)
        • IOS (1)
        • Android (1)
        • Sencha Touche (1)
        • bat file, cmd (0)
        • 디버깅 (2)
        • SQL (21)
        • MS-SQL (1)
        • MySQL (13)
        • 보안 (5)
      • Server (14)
        • Docker (1)
        • Windows (9)
        • Linux (3)
        • jeus (1)
      • Database (6)
      • IT 일반 (15)
      • 리뷰 (38)
        • Book (17)
        • 제품 (2)
        • 영화 소개 (11)
        • 음악 소개 (7)
      • 잡생각 (36)
        • 회고 (3)
        • 컬럼 (4)
        • 자료실 (6)
        • 낙서장 (12)
        • 위시리스트 (2)
        • WOW (1)
        • 덕 (1)
  • 인기 글

  • 최근 댓글

  • 태그

    js패턴
    JavaScript
    SQL
    위시리스트
    디자인패턴
    Java
    읽고 싶은 책
    php
    iT's MY LiFE
    자바스크립트
    IT블로그
    사고 싶은 책
    It
    IT·컴퓨터
    IT 관련
    jsp
    자바
    자바스크립트유틸
    기초
    블로그
Dongkkase
자바스크립트 실무 유틸 함수 시리즈 14 - 반응형 UI 구현을 위한 유틸
상단으로

티스토리툴바