Как создать аналоговые часы с помощью HTML CSS и JavaScript.

29.11.2024, 04:37
7 просмтотров
(1)
Как создать аналоговые часы с помощью HTML CSS и JavaScript.

Всем Привет. В этом видео мы сделаем работающие аналоговые часы с помощью HTML CSS и jаvascript. Надеюсь, это видео будет вам полезно. Вы можете посмотреть видео демонстрацию, попробовать сверстать самому по видео или скачать архив с готовым кодом по ссылке, указанной ниже.. Если это видео оказалось для вас полезным, оставьте комментарий со своими мыслями или вопросами. Ваши отзывы помогают нам создавать более ценный контент.

В архиве находится:

  • Все демонстрационные изображения, 
  • Исходные файлы HTML, 
  • Исходные файлы CSS, 
  • Исходные файлы jаvascript, 
  • Иконки шрифтов, 
  • Файлы библиотеки и плагинов,

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 - jаvascript</title>

    <!--css file-->
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <div class="clock">
      <div class="hour hand"></div>
      <div class="minute hand"></div>
      <div class="seconds hand"></div>
      <img src="clock.svg" alt="" />
    </div>

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

CSS КОД:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  background: #16191e;
}

.clock {
  height: 320px;
  width: 320px;
  /*  background: red; */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 15px solid #242931;
  box-shadow: 15px 15px 35px rgba(0, 0, 0, 0.2),
    inset 0 0 30px rgba(0, 0, 0, 0.4);
  box-sizing: content-box;
}

.hand {
  height: 60px;
  width: 10px;
  background: #fff;
  position: absolute;
  left: 0;
  right: 0;
  top: 100px;
  border-radius: 5px;
  margin: auto;
  transform-origin: bottom;
}

.minute {
  height: 80px;
  width: 5px;
  top: 80px;
}

.seconds {
  height: 90px;
  width: 3px;
  top: 70px;
  background: #ff0000;
}

img {
  position: relative;
}

jаvascript КОД:

let hrHand = document.querySelector(".hour");
let minHand = document.querySelector(".minute");
let secHand = document.querySelector(".seconds");

let time = setInterval(() => {
  let date = new Date();
  let hr = date.getHours();
  let min = date.getMinutes();
  let sec = date.getSeconds();

  let hrDeg = hr * 30 + min / 2;
  let minDeg = min * 6 + sec / 10;
  let secDeg = sec * 6;

  hrHand.style.transform = `rotate(${hrDeg}deg)`;
  minHand.style.transform = `rotate(${minDeg}deg)`;
  secHand.style.transform = `rotate(${secDeg}deg)`;
}, 1000);


Добавить комментарий
Кликните на изображение чтобы обновить код, если он неразборчив
x