-
스피너 만들기[공부] 프로그래밍/JavaScript 2023. 5. 23. 10:38
스피너
스피너는 일반적으로 웹 페이지에서 비동기 작업이나 오래 걸리는 작업이 진행될 때 사용자에게 진행 중임을 표시하는 동그란 로딩 아이콘이다.
<!-- Spinner Start --> <div id="spinner" class="show bg-white position-fixed translate-middle w-100 vh-100 top-50 start-50 d-flex align-items-center justify-content-center"> <div class="spinner-border text-primary" style="width: 3rem; height: 3rem;" role="status"> <span class="sr-only">Loading...</span> </div> </div> <!-- Spinner End -->
(function ($) { // Spinner var spinner = function() { setTimeout(function() { // ID가 "spinner"인 코드가 적어도 하나가 있는지 확인 if ($('#spinner').length > 0) { $('#spinner'). removeClass('show'); } }, One); }; spinner(); })(jQuery);
(function($) { ... })(jQuery);
는 즉시 실행 함수(IIFE, Immediately Invoked Function Expression)이다. 이를 사용하는 이유는 $ 기호를 jQuery와 같은 라이브러리의 변수로 사용하기 위해서이다. 이렇게 하면 다른 라이브러리가 $ 기호를 사용하고 있어도 충돌하지 않고 jQuery를 사용할 수 있다.
spinner 함수는 setTimeout 함수를 사용하여 일정 시간이 지난 후에 실행된다. setTimeout 함수는 주어진 시간(여기서는 One)이 경과한 후에 콜백 함수를 실행한다. 콜백 함수는 현재 페이지에 '#spinner'라는 아이디를 가진 요소가 있는지 확인하고, 있을 경우 해당 요소의 'show' 클래스를 제거한다. 이렇게 하면 스피너가 사라지고, 진행 중인 작업이 완료되었음을 사용자에게 알릴 수 있다.
여기서 주목해야 할 부분은 setTimeout 함수의 첫 번째 인자로 사용된 One이다. One은 정의되어 있지 않은 변수이므로 코드의 다른 부분에서 정의되어야 한다. 이 변수는 스피너가 표시되는 시간을 설정하는 값으로 이 값을 적절하게 설정하여 스피너가 표시되는 기간을 조정할 수 있다.
'[공부] 프로그래밍 > JavaScript' 카테고리의 다른 글
파일 업로드 버튼 바꾸기 (0) 2023.07.01 카운터 업 만들기 (0) 2023.05.23 페이지 위로 올라가는 버튼 만들기 (0) 2023.05.23 드롭다운 메뉴 만들기 (0) 2023.05.23 슬라이드 만들기 (0) 2023.05.05