반응형
인증번호 입력 등.. 화면에서 남은 시간을 표시해줘야 할 경우가 있습니다.
아래 소스코드는 페이지에 진입 시 window.onload 이벤트가 발생하고 countdown 함수를 실행합니다. countdown 함수는 화면에 표시될 elementId 인자와 seconds 초를 받습니다. endTime 변수는 현재 시간에 seconds를 더한 값을 저장하며, 이 값은 카운트다운 종료 시간을 의미합니다. updateTimer 함수는 setInterval 함수를 사용하여 남은 시간을 업데이트하고, 이를 element.innerHTML로 표시합니다. 남은 시간이 없으면 "done"을 출력하고, 그렇지 않으면 setTimeout 함수를 사용하여 1초 후에 다시 updateTimer 함수를 호출합니다. 바로 확인 가능하시니, 응용해서 사용하시면 됩니다.
<script>
window.onload=function(){
function countdown(elementId, seconds){
var element, endTime, hours, mins, msLeft, time;
function updateTimer(){
msLeft = endTime - (+new Date);
if ( msLeft < 0 ) {
console.log('done');
} else {
time = new Date( msLeft );
hours = time.getUTCHours();
mins = time.getUTCMinutes();
element.innerHTML = "남은시간 : "+(hours ? hours + ':' + ('0' + mins).slice(-2) : mins) + ':' + ('0' + time.getUTCSeconds()).slice(-2);
setTimeout( updateTimer, time.getUTCMilliseconds());
}
}
element = document.getElementById(elementId);
endTime = (+new Date) + 1000 * seconds;
updateTimer();
}
countdown('countdown', 300);
}
</script>
<span id="countdown"></span>
코드 결과 입니다.
반응형
'개발이야기 > 자바스크립트' 카테고리의 다른 글
[자바스크립트] 다음 주소 검색 API 사용법, 예제 (daum postcode) (5) | 2023.05.31 |
---|---|
[자바스크립트] ECharts 사용법, 예제, 차트 그리기 (0) | 2023.05.09 |
[자바스크립트] PHP 배열 변수 스크립트에서 사용하기 (0) | 2023.03.30 |
[자바스크립트] 유튜브 영상 넣기 (iframe, YouTube Player API) (0) | 2023.03.29 |
[자바스크립트] 입력한 문자열 Byte 체크 하고 계산하기 (onkeyup) (0) | 2023.03.17 |
댓글