티스토리 뷰

실습

시계만들기

민아! 2024. 4. 12. 11:30

 

HTML

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>JavaScript 9일차</title>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width" />

    <link rel="stylesheet" href="styles.css" />
    <script type="module" src="script.js"></script>
  </head>
  <body>
    <p id="now_time"></p>
    <div id="sharp"></div>
    <button id="stop">stop</button>
  </body>
</html>

 

 

CSS

* {
  box-sizing: border-box;
}

#stop {
  border: none;
  font-size: 25px;
  padding: 15px;
  border-radius: 20px;
  background-color: rgb(231, 29, 29);
  color: white;
  margin-top: 15px;
  cursor: pointer;
}

#now_time {
  font-size: 30px;
}

#sharp {
  font-size: 20px;
}

 

 

JS

/* -----------------------------------------------------------------------------*/
// <요구사항>
// 1. 실시간으로 시간이 업데이트되는 시계를 생성해야 합니다.
// 2. 1초마다 현재 시각으로 업데이트될 수 있도록 해야 합니다. (setInterval)
// 3. 형식은 ' 🕖현재 시각은 00시 00분 00초 입니다.' 로 작성해주세요.
// 4. stop 버튼을 클릭하면, 시계가 정지해야 합니다. (clearInterval)
// 5. 정각이 되기까지 몇 분이 남았는지 표시하도록 해야 합니다.
// 6. 형식은 '정각까지 00분 남았습니다!'로 작성해주세요.
// 7. 스타일은 마음껏 수정해도 좋습니다.
/* -----------------------------------------------------------------------------*/

let timer;
timer = setInterval(function () {
  // 현재 시각을 표시할 p요소
  const p = document.querySelector('#now_time');
  // 정각 되기까지 남은 분을 나타내는 div 요소
  const div = document.querySelector('#sharp');
  // 1. 빌트인 객체를 사용하여 오늘 날짜를 받아온 후 변수에 할당해 주세요.
  const nowTime = new Date();
  // 2. 현재 시각을 표현하기 위한 값을 알맞는 메소드를 사용하여 받아온 후 변수에 할당해 주세요.
  let hour = nowTime.getHours();
  let minute = nowTime.getMinutes();
  let second = nowTime.getSeconds();
  // 정각이 되기까지의 남은 분
  let sharpTime;
  // 4. 모든 값이 준비되었다면, 알맞는 요소에 text 값을 추가해주세요.
  p.textContent = `🕖현재 시각은 ${hour}시 ${minute}분 ${second}초 입니다.`;
}, 1000); // 1초마다 함수가 실행되도록 설정

// 5. 버튼에 click 이벤트가 발생했을 경우, 시계가 정지하도록 이벤트리스너를 등록해주세요.
const button = document.getElementById('stop');
button.addEventListener('click', function () {
  clearInterval(timer);
});

 

 

 let hour = nowTime.getHours();
 let minute = nowTime.getMinutes();
 let second = nowTime.getSeconds();

 

setInterval()

clearInterval()

 

시간과 관련된 해당 메서드를 잘 기억하도록 하자. 

 

 

 

'실습' 카테고리의 다른 글

드림카 소개하기  (0) 2024.04.12
햄버거 주문서 만들기  (0) 2024.04.12
회원가입 폼 만들기  (0) 2024.04.12
트위터 만들기  (1) 2024.04.12
문자열의 길이만큼 div 생성하기  (1) 2024.04.05
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/05   »
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
글 보관함