-
Javascript 화면 loading 구현 (화면 로딩 구현)DEV/javascript 2023. 8. 28. 11:03
1. 로딩만 넣는 경우
html
<div id="loading"> <div class="spinner"></div> </div>
javascript
const loading = { start: () => { // @로딩 시작 const loading = document.querySelector('#loading'); loading.style.display = 'block'; }, end: () => { // @로딩 종료 const loading = document.querySelector('#loading'); loading.style.display = 'none'; }, }
css
/* loading */ #loading { display: none; position: fixed; z-index: 9999; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.75); } .spinner { position: relative; top: 50%; margin: auto; width: 30px; height: 30px; border-radius: 50%; border: 3px solid rgba(0, 0, 0, 0.1); border-top-color: #03114E; animation: spin 0.6s infinite linear; } @keyframes spin { to { transform: rotate(360deg); } }
2. 로딩 하단에 문구를 넣는 경우
html
<div id="loading"> <div class="spinner"></div> <div class="state-viewer-container"> <label class="label-font" id="stateLabel"></label> </div> </div>
javascript
/** * 화면 로딩 시작 */ function loadingStart() { const loading = document.querySelector('#loading'); loading.style.display = 'block'; } /** * 화면 로딩 종료 */ function loadingEnd() { const loading = document.querySelector('#loading'); loading.style.display = 'none'; }
css
/* loading */ #loading { display: none; position: fixed; z-index: 9998; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.75); } .state-viewer-container { position: absolute; top: 50%; left: 50%; transform: translate(-50%, 150%); } .spinner { position: relative; top: 50%; margin: auto; width: 30px; height: 30px; border-radius: 50%; border: 3px solid rgba(0, 0, 0, 0.1); border-top-color: #03114E; animation: spin 0.6s infinite linear; } @keyframes spin { to { transform: rotate(360deg); } } /* + FONT (필요에 맞게 수정하여 사용) */ .label-font { font-size: 16px; font-weight: bold; }
'DEV > javascript' 카테고리의 다른 글
Javascript Html Table 헤더, 바디 스크롤 따로 컨트롤하기 (0) 2023.11.16 Javascript 콘솔(개발자 도구)에서 cdn(script url) 불러오기 (0) 2023.11.14 Javascript GoogleTranslateWidget에 대해... (0) 2023.05.08 Javascript 웹 페이지의 DOM 변경 사항 감시 및 콜백 지원 (MutationObserver) (0) 2023.05.08 Javascript URL 및 QueryString 사용하기 (0) 2023.05.08