개요
웹 사용자들은 동영상을 로딩할 때까지 기다리는 동안 로딩 진행 상태를 시각적으로 확인할 수 있으면 좋습니다. 이를 위해 HTML5 비디오 요소와 자바스크립트를 사용하여 동영상 로딩 진행 표시바를 만들 수 있습니다. 이 글에서는 이러한 방법에 대해 알아보겠습니다.
HTML5 비디오 요소 생성
먼저, HTML5 비디오 요소를 생성해야 합니다. <video>
요소를 사용하여 비디오 플레이어를 만들 수 있습니다. 아래는 예시 코드입니다.
<video id="myVideo" src="example.mp4" controls></video>
위의 코드에서 id
속성을 사용하여 비디오 요소에 고유 식별자를 부여하였습니다.
자바스크립트로 로딩 진행 표시바 생성
다음으로, 자바스크립트를 사용하여 로딩 진행 표시바를 생성해보겠습니다. 아래는 예시 코드입니다.
<progress id="progressBar" max="100" value="0"></progress>
위의 코드에서 <progress>
요소를 사용하여 로딩 진행 표시바를 생성하였습니다. id
속성을 사용하여 고유 식별자를 부여하고, max
속성을 사용하여 최대 값 설정, value
속성을 사용하여 현재 로딩 상태를 나타냈습니다.
자바스크립트로 로딩 진행 상태 업데이트
마지막으로, 자바스크립트를 사용하여 로딩 진행 상태를 업데이트하는 함수를 만들어줍니다. 아래는 예시 코드입니다.
const video = document.getElementById('myVideo');
const progressBar = document.getElementById('progressBar');
video.addEventListener('progress', updateProgressBar);
function updateProgressBar() {
const duration = video.duration;
const buffered = video.buffered.end(0);
const percentage = Math.floor((buffered / duration) * 100);
progressBar.value = percentage;
}
위의 코드에서 video
객체와 progressBar
객체를 가져와서 사용합니다. video
객체의 progress
이벤트를 감지하여 updateProgressBar
함수를 호출합니다. updateProgressBar
함수 내에서는 비디오의 총 길이와 로딩된 길이를 계산하여 진행 표시바의 상태를 업데이트합니다.
결론
HTML5 비디오와 자바스크립트를 사용하여 동영상 로딩 진행 표시바를 만들었습니다. 이렇게 하면 웹 사용자가 동영상 로딩 상태를 확인할 수 있어 사용자 경험이 향상되며, 더 나은 사용자 인터페이스를 제공할 수 있습니다.
#WebDevelopment #HTML5 #JavaScript ```
참조: