티스토리 뷰
1. 남은 시간, 시간 체크 예제
본인 확인 등에서 남은 시간을 보여 줄 때 사용하는 예제 입니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>time Counter 테스트</title>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
var timeCounter = function(elem, initSecond){
if(!(this instanceof timeCounter)){
return new timeCounter(elem, initSecond);
}
this.elem = elem;
this.initTime = parseInt((new Date()).getTime()/1000)+parseInt(initSecond);
this.si = -1;
}
timeCounter.prototype = {
start: function(){
if(this.si > -1){
return;
}
this.resume();
},
stop: function(){
this.initTime = 0;
this.si = -1;
clearInterval(this.si);
this.print("시간초과");
},
resume: function(){
if(this.si > -1){
return;
}
var _this = this;
_this.si = setInterval(function(){
// 현재시간 구하기
var nowTime = parseInt((new Date()).getTime()/1000);
console.log("nowTime : "+nowTime);
// 초기설정시간과 현재시간 차이 구하기
var tcounter = this.initTime - nowTime;
console.log("tcounter : "+tcounter);
// 분 구하기
var tempMin=Math.floor(tcounter/60);
if(tempMin < 10 ) {
tempMin = '0'+tempMin;
}
// 초 구하기
var tempSec=tcounter%60;
if(tempSec < 10 ) {
tempSec = '0'+tempSec;
}
// 화면에 보여주기
_this.print(tempMin+":"+tempSec);
// 시간 초과면 멈춤.
if(tcounter<0) _this.stop(); // 3분후 완료
}.bind(this), 1000);
},
print: function(elapsed){
$("#"+this.elem).html(elapsed);
},
}
</script>
<script>
$(document).ready(function() {
var timeViewer = timeCounter("timerDiv", 180);
timeViewer.start();
});
</script>
</head>
<body>
남은 시간 : <span id="timerDiv"></span>
</body>
</html>
결과 화면
남은 시간 : 01:22
Mac에서는 setInterval 사용 시 오작동할 수 있습니다.
인스턴스 체크해서 생성을 제한 하는 부분 중요합니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- cache
- listToMap
- mapToList
- restful서비스
- ag grid
- 예제
- lombok
- 샘플
- Javascript
- mybatis
- 타임리프
- Spring Boot
- 스프링
- RESTful
- sample
- 설정
- 엑셀
- REST
- SHEETJS
- thymeleaf
- springboot
- AG-GRID
- UI
- 그리드
- spring
- 메시지
- oracle
- java
- example
- 스프링부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함