웹 프론트엔드 JS 튜토리얼 아날로그 시계 웹사이트 구축

아날로그 시계 웹사이트 구축

Aug 14, 2024 pm 12:38 PM

Build a Analog Clock Website

소개

안녕하세요, 개발자 여러분! 오늘은 제가 최근 완성한 아날로그 시계 프로젝트를 소개하게 되어 매우 기쁩니다. 이 프로젝트는 전통적인 아날로그 시계 문자판을 사용하여 시간을 표시하는 시각적으로 매력적이고 대화형 방식입니다. 특히 애니메이션, DOM 조작 및 시간 기반 기능 작업 시 JavaScript, CSS 및 HTML 기술을 연마하기 위한 훌륭한 프로젝트입니다. 연습을 원하는 초보자이거나 클래식 시계 인터페이스를 만들고 싶은 숙련된 개발자라면 이 프로젝트는 훌륭한 선택입니다.

프로젝트 개요

아날로그 시계는 기존 아날로그 시계의 외관과 기능을 그대로 재현한 실시간 시계입니다. 시계는 현재 시간을 반영하기 위해 시침, 분침, 초침이 부드럽게 회전하면서 매초 동적으로 업데이트됩니다. 이 프로젝트는 동적이고 시각적으로 매력적인 웹 애플리케이션 구축을 연습하려는 개발자에게 이상적입니다.

특징

  • 실시간 시계: 시계는 1초마다 업데이트되어 움직이는 시, 분, 초침으로 현재 시간을 표시합니다.
  • 부드러운 애니메이션: 시계 바늘이 부드럽게 회전하여 사실적인 아날로그 시계 효과를 만들어냅니다.
  • 반응형 디자인: 시계는 반응형으로 설계되어 다양한 기기와 화면 크기에서 멋지게 보입니다.
  • 미니멀리스트 디자인: 깔끔하고 심플한 디자인이 특징이며 기능성과 우아함에 중점을 둔 시계입니다.

사용된 기술

  • HTML: 웹페이지와 시계 레이아웃을 구성하는 데 사용됩니다.
  • CSS: 바늘 위치 지정, 부드러운 애니메이션 추가 등 시계 스타일을 지정하는 데 적용됩니다.
  • JavaScript: 시계의 시간 계산 처리, DOM 업데이트, 바늘 회전 관리를 위해 구현되었습니다.

프로젝트 구조

프로젝트 구조를 간단히 살펴보겠습니다.

Analog-Clock/
├── index.html
├── style.css
└── script.js
로그인 후 복사
  • index.html: 웹페이지의 HTML 구조를 포함합니다.
  • style.css: 애니메이션 및 반응형 디자인을 포함한 CSS 스타일을 보유합니다.
  • script.js: JavaScript를 사용하여 시계의 동적 측면을 관리합니다.

설치

프로젝트를 시작하려면 다음 단계를 따르세요.

  1. 저장소 복제:

    git clone https://github.com/abhishekgurjar-in/Analog-Clock.git
    
    로그인 후 복사
  2. 프로젝트 디렉토리 열기:

    cd Analog-Clock
    
    로그인 후 복사
  3. 프로젝트 실행:

    • 로컬 서버에서 실행하거나 간단히 웹 브라우저에서 index.html 파일을 열 수 있습니다.

용법

  1. 웹사이트를 엽니다 웹 브라우저에서
  2. 시계를 보세요 시, 분, 초침의 부드러운 애니메이션으로 현재 시간을 표시합니다.

코드 설명

HTML

index.html 파일은 시계 컨테이너와 헤더를 포함한 웹페이지의 구조를 설정합니다. 다음은 HTML 코드의 일부입니다:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Analog Clock</title>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js" defer></script>
  </head>
  <body>
    <div class="header">
      <h1>Analog Clock</h1>
    </div>
    <div id="clockContainer">
      <div id="hour"></div>
      <div id="minute"></div>
      <div id="second"></div>
    </div>
    <div class="footer">
      <p>Made with ❤️ by Abhishek Gurjar</p>
    </div>
  </body>
</html>
로그인 후 복사

CSS

style.css 파일은 시계 컨테이너와 바늘의 스타일을 지정하여 시간을 표시하기 위해 올바르게 회전하는지 확인합니다. 주요 스타일은 다음과 같습니다:

#clockContainer {
  position: relative;
  margin: auto;
  height: 30vw;
  width: 30vw;
  background: url(clock.png) no-repeat;
  background-size: 100%;
}

#hour,
#minute,
#second {
  position: absolute;
  background: black;
  border-radius: 10px;
  transform-origin: bottom;
}

#hour {
  width: 1.8%;
  height: 25%;
  top: 25%;
  left: 48.85%;
  opacity: 0.8;
}

#minute {
  width: 1.6%;
  height: 30%;
  top: 19%;
  left: 48.9%;
  opacity: 0.8;
}

#second {
  width: 1%;
  height: 40%;
  top: 9%;
  left: 49.25%;
  opacity: 0.8;
}

.header {
  margin: 80px;
  text-align: center;
}

.footer {
  margin: 50px;
  text-align: center;
}
로그인 후 복사

자바스크립트

script.js 파일은 현재 시간 계산을 처리하고 이에 따라 시계 바늘의 회전을 업데이트합니다. 다음은 JavaScript 코드의 일부입니다.

setInterval(() => {
  const date = new Date();
  const hourTime = date.getHours();
  const minuteTime = date.getMinutes();
  const secondTime = date.getSeconds();

  const hourRotation = 30 * hourTime + minuteTime / 2;
  const minuteRotation = 6 * minuteTime;
  const secondRotation = 6 * secondTime;

  const hour = document.getElementById('hour');
  const minute = document.getElementById('minute');
  const second = document.getElementById('second');

  hour.style.transform = `rotate(${hourRotation}deg)`;
  minute.style.transform = `rotate(${minuteRotation}deg)`;
  second.style.transform = `rotate(${secondRotation}deg)`;
}, 1000);
로그인 후 복사

라이브 데모

여기에서 아날로그 시계의 라이브 데모를 확인하실 수 있습니다.

결론

이 아날로그 시계를 만드는 것은 JavaScript 애니메이션과 DOM 조작에 대해 더 깊이 파고들 수 있는 보람 있는 경험이었습니다. 이 프로젝트가 여러분이 자신만의 대화형이며 시각적으로 매력적인 애플리케이션을 만드는 데 영감을 주기를 바랍니다. 자유롭게 코드를 탐색하고, 사용자 정의하고, 자신의 프로젝트에서 사용해 보세요. 즐거운 코딩하세요!

크레딧

이 프로젝트는 아날로그 시계의 클래식한 디자인과 간단한 실시간 표시 도구의 필요성에서 영감을 받았습니다.

작가

  • 아비셰크 구자르
    • GitHub 프로필

위 내용은 아날로그 시계 웹사이트 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JavaScript로 문자열 문자를 교체하십시오 JavaScript로 문자열 문자를 교체하십시오 Mar 11, 2025 am 12:07 AM

JavaScript로 문자열 문자를 교체하십시오

사용자 정의 Google 검색 API 설정 자습서 사용자 정의 Google 검색 API 설정 자습서 Mar 04, 2025 am 01:06 AM

사용자 정의 Google 검색 API 설정 자습서

예제 색상 JSON 파일 예제 색상 JSON 파일 Mar 03, 2025 am 12:35 AM

예제 색상 JSON 파일

8 멋진 jQuery 페이지 레이아웃 플러그인 8 멋진 jQuery 페이지 레이아웃 플러그인 Mar 06, 2025 am 12:48 AM

8 멋진 jQuery 페이지 레이아웃 플러그인

10 JQuery Syntax Highlighter 10 JQuery Syntax Highlighter Mar 02, 2025 am 12:32 AM

10 JQuery Syntax Highlighter

자신의 Ajax 웹 응용 프로그램을 구축하십시오 자신의 Ajax 웹 응용 프로그램을 구축하십시오 Mar 09, 2025 am 12:11 AM

자신의 Ajax 웹 응용 프로그램을 구축하십시오

' this ' 자바 스크립트로? ' this ' 자바 스크립트로? Mar 04, 2025 am 01:15 AM

' this ' 자바 스크립트로?

10 JavaScript & JQuery MVC 자습서 10 JavaScript & JQuery MVC 자습서 Mar 02, 2025 am 01:16 AM

10 JavaScript & JQuery MVC 자습서

See all articles