반응형

div 2개만 이용하고 Percent를 변경하여 사용하고 싶어서 아래와 같이 만들었습니다.

 

 

HTML (React)

uploadPercent는 useState로 변경 하는 로직을 사용 하였습니다.

<div className="progress-bg">
    <div className="progress-bar" style={{width:`${uploadPercent}%`}}></div>
</div>

 

CSS (SASS)

/* 프로그레스바 배경 */
.progress-bg {
    width: 100%;
    height: 10px;
    background-color: #aeb5c4; /* 배경색 */
    border-radius: 15px;
    overflow: hidden;

    /* 진행 부분 */
    .progress-bar {
        height: 100%;
        width: 0%; /* 진행 상태: 0% ~ 100% */
        background-color: #193263; /* 진행바 색상 */
        opacity: 0.9;
        border-radius: 15px 0 0 15px;
        transition: width 0.3s ease;
    }
}

 

반응형
$.ajax({
	type: "POST",
	url: 유알엘(Url),
	dataType: "json",
	data: 데이터,
	success: function (result, status, xhr) {
		//결과 값 
	},
	beforeSend: function (){  
		$("#Progress_Bar").show(); //프로그래스 바
	},
	complete : function (){
		$("#Progress_Bar").hide(); //프로그래스 바
	},
	error: function (xhr, status, error) {
		alert("[Error]관리자에게 문의 해 주세요. " + status);
		return;
	}
});

 

beforeSend는 Ajax를 보내기 전에 쓰는 함수

complete는 ajax 작업이 끝나고 나서 쓰는 함수.

ajax에 async: false 로 되어있다면 프로그래스는 되지 않을 것 입니다.

 

+ Recent posts