본문으로 건너뛰기

Progress Bar

Reactive API의 progress 속성을 사용하여 실시간으로 업데이트되는 시각적 스크롤 진행률 표시기를 구현합니다.

import Flicking, { connectFlickingReactiveAPI } from "@egjs/flicking";
import "@egjs/flicking/dist/flicking.css";
import "./styles.css";

const flicking = new Flicking("#flick", {
  moveType: "freeScroll"
});
const reactiveAPI = connectFlickingReactiveAPI(flicking);

const progressBar = document.querySelector(".progress-bar");
const progressText = document.querySelector(".progress-text");

reactiveAPI.subscribe("progress", value => {
  progressBar.style.width = `${value}%`;
  progressText.textContent = `Progress: ${value.toFixed(1)}%`;
});

요약

주요 API

속성타입설명
progressnumber전체 스크롤 진행률 백분율 (0-100)

동작

위치progress바 너비
시작00%
중간~50~50%
100100%

상세 설명

progress란?

progress는 현재 카메라 위치를 전체 스크롤 가능 범위의 백분율로 나타냅니다. moveType: "freeScroll"과 함께 사용하면 스냅 없이 연속적인 진행률 업데이트가 가능하여 부드러운 프로그레스 바 애니메이션에 이상적입니다.

관련 옵션

  • moveType: "freeScroll": 패널 경계에 스냅하지 않고 연속적인 진행률 변화를 가능하게 합니다.
  • bound: true: 시작 지점에서 정확히 0, 끝 지점에서 정확히 100이 되도록 보장합니다.

사용 시나리오

이런 경우에 사용하세요
  • 이미지 갤러리 스크롤 진행률
  • 온보딩 단계 표시기
  • 콘텐츠 읽기 진행률

관련 링크

관련 API

관련 데모

  • Pagination: 도트 페이지네이션 네비게이션
  • Prev / Next: 이전/다음 버튼 네비게이션