반응형
페이지에 남은 시간을 타이머로 표시 시킬려고 한다.
우선 아래와 같이 1초간격으로 수행되는 setInterval함수를 작성
1 2 3 4 | $(document).ready(function(){ tid=setInterval('msg_time()',1000); // 타이머 1초간격으로 수행 }); | cs |
이어서, msg_time()을 아래와 같이 작성해준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | var stDate = new Date().getTime(); var edDate = new Date('2018-10-25 24:00:00').getTime(); // 종료날짜 var RemainDate = edDate - stDate; function msg_time() { var hours = Math.floor((RemainDate % (1000 * 60 * 60 * 24)) / (1000*60*60)); var miniutes = Math.floor((RemainDate % (1000 * 60 * 60)) / (1000*60)); var seconds = Math.floor((RemainDate % (1000 * 60)) / 1000); m = hours + ":" + miniutes + ":" + seconds ; // 남은 시간 text형태로 변경 document.all.timer.innerHTML = m; // div 영역에 보여줌 if (RemainDate < 0) { // 시간이 종료 되었으면.. clearInterval(tid); // 타이머 해제 }else{ RemainDate = RemainDate - 1000; // 남은시간 -1초 } } | cs |
HTML단에 남은 시간이 표시되는 부분을 설정해준다.
1 2 | <p>남은시간 : <span id="timer"></span></p> | cs |
* 주의 : Firefox, Chrome 등은 문제 없이 표시되지만 IE경우 NaN이라고 뜬다.
Date객체 때문인데 IE에서는 위의 종료시간 new Date('2018-05-25 01:00:00')의 날짜를 문자열로 인식해버린다.
IE의 경우 아래와 같이 해줘야 날짜로 인식..
new Date("26/05/2018 01:00:00")
브라우저 타입에 따라 분기 처리 해주자.
반응형
'개발 이야기 > HTML | CSS | JS' 카테고리의 다른 글
Javascript로 key 이벤트 발생 시키기(Pure Javascript) (0) | 2019.07.15 |
---|---|
JavaScript Date() (0) | 2018.05.31 |
JavaScript Math객체 정리 (0) | 2018.05.31 |
jQuery-UI sortable 사용해보기 (0) | 2018.05.25 |
숫자입력시 ,(콤마) 찍기 (0) | 2018.05.25 |