Notice
Recent Posts
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- css사칙연산
- 크리에이터링크 이미지링크
- 클린 서구
- 매일두유
- css 화면이동
- 애드센스
- 자바스크립트 링크
- 포토샵 핸드툴 단축키
- 일러스트 핸드툴 오류
- 당연해?뭐가?
- 포토샵 스페이스바 오류
- 쏜살치킨
- 포토샵 핸드툴 오류
- css변수
- 당연해?왜?
- 크리에이터링크 이미지클릭
- javascript 자식 노드 추가
- 일러스트 스페이스바 오류
- 종묘대제
- 자바스크립트 타이머 만들기
- html 다운로드 버튼 만들기
- 강아지 발작
- 덕수궁 석조전
- 크리에이터링크 상세페이지
- 대한제국역사관
- javascript 자식 노드 삭제
- 다른 사이트로 연결
- 셀렉트 태그 링크
- 후두골이형성증
- javascript 자식 노드 복사
Archives
- Today
- Total
열정과 게으름 사이
시간 줄어드는 타이머 만들기 본문
시간 제한이 있는 게임을 할 때 사용할 수 있는 타이머를 만들어 보았다.
setInterval()함수를 사용해서 하면 되고,
줄어드는 시간을 보여주기 위한 html을 만들었다.
- HTML
<p>
<label for="Timer">남은 시간:</label>
<input id="Timer" type="text" value="" readonly/>
</p>
나중에 접근성 이슈가 있을 경우를 대비해 input태그를 사용했다.
- JS
3분을 제한 시간으로 두었을 경우의 예이다.
setInterval(1000) = 1초 이다, 여기에 *3분(180초) => 180,000
변수로 총 시간 = 180000;
줄어드는 시간을 보여주기 위해 min=3; sec=60; 을 선언해주고,
3:00 부터 줄어들어야 하니, 페이지 로딩시 바로 출력되도록 value값에 넣어준다.
1초에 한번씩 반복되는
setInterval(function({
time=-1000;
},1000) 로 1초 마다 1초씩 줄어들도록 만들어준다.
const Timer=document.getElementById('Timer'); //스코어 기록창-분
let time= 180000;
let min=3;
let sec=60;
Timer.value=min+":"+'00';
function TIMER(){
PlAYTIME=setInterval(function(){
time=time-1000; //1초씩 줄어듦
min=time/(60*1000); //초를 분으로 나눠준다.
if(sec>0){ //sec=60 에서 1씩 빼서 출력해준다.
sec=sec-1;
Timer.value=Math.floor(min)+':'+sec; //실수로 계산되기 때문에 소숫점 아래를 버리고 출력해준다.
}
if(sec===0){
// 0에서 -1을 하면 -59가 출력된다.
// 그래서 0이 되면 바로 sec을 60으로 돌려주고 value에는 0을 출력하도록 해준다.
sec=60;
Timer.value=Math.floor(min)+':'+'00'
}
},1000); //1초마다
}
TIMER();
setTimeout(function(){
clearInterval(PlAYTIME);
},180000);//3분이 되면 타이머를 삭제한다.
반응형
'공부 메모 > javaScript' 카테고리의 다른 글
javascript 자식 노드 추가,삭제,복사 (0) | 2021.11.03 |
---|---|
html에 인클루드 하기 (0) | 2021.10.25 |
다른페이지로 연결하기 (0) | 2021.10.13 |
자바스크립트 버튼 이벤트 (0) | 2021.07.08 |
자바스크립트 크기 구하기 (0) | 2021.05.12 |
Comments