IT/javascript

자바스크립트로 크리스마스 디데이 계산기 / Date, setInterval, Math.floor 함수

공장장J 2022. 5. 23. 16:42
반응형

 

 

작업포인트 ( 사용된 내장 함수 )

 

 

작업순서(코드리뷰)

1. index.html 작성

body 태그 안에 작성

	<h1 id="chirstmas">Time Untill Christmas Eve</h1>
	<h2 id="clock"></h2>

 

2. clock.js

clock라는 변수에 querySelector로 아이디가 clock인 h2태그를 지정(불러온다.)

const clock = document.querySelector("h2#clock");

 

3. clock.js

christmasClock 함수를 만든다.

const clock = document.querySelector("h2#clock");

function christmasClock() {
	const christmas = new Date("2022-12-25");
	const today = new Date();

 

4. clock.js

christmasClock 함수 안에 올해 12월 25일 크리스마스를 인수로 입력한 christmas 객체를 만들고, new Date() 오늘 날짜로 객체를 만든다.

오늘로부터 크리스마스까지 남은 날은 day라는 변수에 지정한다. 남은 날, 시간, 분, 초 계산식에 사용한다.

남은 날, 시간, 분, 초도 변수에 지정한다. 이 때 계산식에 내림함수 Math.floor를 사용해 정수만 반환하도록 한다.

const clock = document.querySelector("h2#clock");

function christmasClock() {
  const christmas = new Date("2022-12-25");
  const today = new Date();

  const day = christmas - today;

  const dDay = Math.floor(day / (1000 * 60 * 60 * 24));
  const dHour = Math.floor((day / (1000 * 60 * 60)) % 24);
  const dMin = Math.floor((day / (1000 * 60)) % 60);
  const dSec = Math.floor((day / 1000) % 60);

 

5. clock.js

설정간격으로 반복실행하는 setInterval 함수에 chiristmasClock 함수를 1초마다 실행시킨다.

const clock = document.querySelector("h2#clock");

function christmasClock() {
  const christmas = new Date("2022-12-25");
  const today = new Date();

  const day = christmas - today;

  const dDay = Math.floor(day / (1000 * 60 * 60 * 24));
  const dHour = Math.floor((day / (1000 * 60 * 60)) % 24);
  const dMin = Math.floor((day / (1000 * 60)) % 60);
  const dSec = Math.floor((day / 1000) % 60);

  clock.innerText = `${dDay}d ${dHour}h ${dMin}m ${dSec}s`;
}

setInterval(christmasClock, 1000);

 

 

결과코드

 

 

index.html

<!DOCTYPE html>
<html>
  <head>
    <title>Parcel Sandbox</title>
    <meta charset="UTF-8" />
    <link rel="stylesheet" href="src/styles.css" />
  </head>

  <body>
    <div id="app">
      <h1 id="chirstmas">Time Untill Christmas Eve</h1>
      <h2 id="clock"></h2>
    </div>

    <script src="src/clock.js"></script>
  </body>
</html>

 

 

clock.js

const clock = document.querySelector("h2#clock");

function christmasClock() {
  const christmas = new Date("2022-12-25");
  const today = new Date();

  const day = christmas - today;

  const dDay = Math.floor(day / (1000 * 60 * 60 * 24));
  const dHour = Math.floor((day / (1000 * 60 * 60)) % 24);
  const dMin = Math.floor((day / (1000 * 60)) % 60);
  const dSec = Math.floor((day / 1000) % 60);

  clock.innerText = `${dDay}d ${dHour}h ${dMin}m ${dSec}s`;
}

setInterval(christmasClock, 1000);

 

styles.css

폰트는 sans-serif로 배경색은 딸기우유 분홍색으로 지정했다. css부분은 폰트와 배경색, 폰트색상 등등 자기 맘대로 꾸며준다. 

body {
  font-family: sans-serif;
  background: 원하는 색상;
}

 

반응형