
HTML
<div id="loadingBar" style="display:none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5); z-index: 1000;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
<div class="loader"></div>
</div>
</div>
CSS
<style>
.loader {
border: 16px solid #f3f3f3;
border-top: 16px solid #3498db;
border-radius: 50%;
width: 120px;
height: 120px;
animation: spin 2s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
JS(사용)
$('#submit').on('click', function () {
$('#loadingBar').show();
var formData = new FormData();
$.ajax({
url: '/your-endpoint',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function (data) {
$('#loadingBar').hide();
window.close();
window.opener.location.reload();
},
error: function () {
$('#loadingBar').hide();
alert('오류가 발생했습니다.');
}
});
});