Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML DOM Progress max 속성 – 진행 표시줄 최댓값 조회 및 변경 방법

HTML DOM Progress max 속성이란?

HTML DOM의 progress max 속성은 HTML 문서 내 <progress> 요소의 max 속성값을 가져오거나 변경하는 데 사용됩니다. 진행 표시줄(progress bar)에서 max 값은 작업의 전체 분량을 의미하며, 이 값을 조정하면 진행률이 계산되는 기준도 함께 달라집니다.

문법(Syntax)

progress max 속성의 기본 문법은 다음과 같습니다.

1. max 값 반환하기

object.max

2. max 값 변경하기

object.max = "number"

참고로 <progress> 요소에 max 속성을 별도로 지정하지 않으면 기본값인 1이 적용되며, 이 경우 value 값은 0~1 사이의 비율로 해석됩니다.

예제(Example)

다음은 progress max 속성을 활용해 진행 표시줄의 최댓값을 동적으로 변경하는 예제입니다.

<!DOCTYPE html>
<html>
<head>
<style>
    html{
        height:100%;
    }
    body{
        text-align:center;
        color:#fff;
        background: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%) center/cover no-repeat;
        height:100%;
    }
    p{
        font-weight:700;
        font-size:1.2rem;
    }
    .btn{
        background:#0197F6;
        border:none;
        height:2rem;
        border-radius:2px;
        width:35%;
        margin:2rem auto;
        display:block;
        color:#fff;
        outline:none;
        cursor:pointer;
    }
    .show{
        font-size:1.5rem;
        font-weight:bold;
    }
</style>
</head>
<body>
<h1>DOM Progress max 속성 데모</h1>
<p>남은 작업 현황:</p>
<p>(파란색 = 완료, 흰색 = 미완료)</p>
<progress value="20" max="100" class="progress"></progress>
<button onclick="changeMax()" class="btn">Change Max = 200</button>
<div class="show"></div>
<script>
    function changeMax() {
        var progress = document.querySelector(".progress");
        var msg = document.querySelector(".show");
        msg.innerHTML = "이전 max 값: " + progress.max;
        progress.max = "200";
        msg.innerHTML += "<p>새 max 값: " + progress.max + "</p>";
    }
</script>
</body>
</html>

실행 결과(Output)

위 코드를 실행하면 다음과 같은 화면이 출력됩니다.

HTML DOM Progress max 속성 – 진행 표시줄 최댓값 조회 및 변경 방법

화면의 "Change Max=200" 버튼을 클릭하면 진행 표시줄의 max 속성값이 100에서 200으로 변경되며, 변경 전 값과 새로운 값이 화면에 함께 표시됩니다.

HTML DOM Progress max 속성 – 진행 표시줄 최댓값 조회 및 변경 방법

정리

progress max 속성은 JavaScript만으로 진행 표시줄의 전체 작업량을 손쉽게 제어할 수 있는 유용한 기능입니다. 파일 업로드 진행률, 설치 진행 상태 등 실시간으로 변화하는 작업량을 시각적으로 표현해야 할 때 특히 유용하게 활용할 수 있습니다.