'<progress>' 태그는 작업의 진행률을 나타내는데 사용하는 태그다.
(<progress> 태그에 대해 자세한 부분은 아래 글 참고)
[HTML5]작업의 진행률 표시줄을 나타내는 태그 <progress>
' ' 태그는 작업의 진행률 표시줄을 제공해주는 태그다. 태그,태그,가상요소, css의 포지셔닝등 복잡한 구조를 쓰지 않고 ' ' 태그 한줄이면 ui/ux적으로도 꽤나 훌륭한 표시줄을 만들어준다. 는 작
joroki.tistory.com
태그만 사용해서는 진행률을 동적으로 보여주기 어렵기 때문에 스크립트를 사용해야한다.
만들고자 하는 조건은 다음과 같다.
* <progress> max값은 '10'
* 'next' 버튼 클릭시 <progress> value 값이 1씩 늘어남. value값이 10을 넘길 경우 alert 창을 띄움.
* 'prev' 버튼 클릭시 <prgoress> value 값이 1씩 줄어듬. value값이 1에서 줄어들 경우 alert 창을 띄움.
마크업 구조
<button type="button" id="next">다음</button>
<button type="button" id="prev">이전</button>
<progress max="10" value="1" id="testProgress"></progress>
$(function(){
$("#next").on("click",function(){
pgbInit('next');
});
$("#prev").on("click",function(){
pgbInit('prev');
});
})
//progress bar 동작 처리
function pgbInit(btnType)() {
const $testPgb = $("#testProgress");
let valNum = $testPgb.val();
if(btnType == 'next') {
//next 버튼일 경우 동작 방식
if(valNum == 10) {
alert("진행이 모두 완료 되었습니다.");
return false;
}
valNum = parseInt(valNum) + 1;
$testPgb.val(valNum);
} else if(btnType == 'prev') {
//prev 버튼일 경우 동작방식
if(valNum == 1) {
alert("첫번째 단계 입니다.");
return false;
}
valNum = parseInt(valNum) - 1;
$testPgb.val(valNum);
}
}
*작업자의 의도에따라 progress태그에 css로 transition속성을 부여하여 진행률을 조금 더 부드럽게 표현하거나 progress는 css를 이용하여 다양하게 커스터마이징이 가능하기때문에 유용한 태그라고 볼 수 있다.
위의 코드로 테스트는 아래 링크에서 확인 가능합니다.
버튼 클릭시 진행률 동적 조절 - JSFiddle - Code Playground
jsfiddle.net
반응형
'퍼블리셔 Note > JAVASCRIPT' 카테고리의 다른 글
[JQuery]갤러리 형태 썸네일 클릭시 해당 index로 팝업 형태 swiper의 index 같은 위치로 옮기기 (0) | 2022.05.20 |
---|---|
[JQuery] 특정 날짜(시간)에 제이쿼리 함수 실행. (0) | 2022.04.28 |
[JAVASCRIPT] 배열(Array)에서 랜덤으로 값 출력 (0) | 2022.03.31 |
[javascript] 문자열과 변수를 같이쓸때 사용하는 백틱(`) 리터럴 작성 방식 (0) | 2022.03.28 |
[javascript] 탭 버튼에 클릭시 해당 컨텐츠 노출하기 (0) | 2022.03.18 |