Как создать цифровые часы с помощью HTML, CSS и JavaScript

Digital Clock – один из лучших проектов на JavaScript для начинающих. Этому довольно легко научиться людям любого уровня подготовки.

В этой статье вы узнаете, как создать собственные цифровые часы с помощью HTML, CSS и JavaScript. Вы получите практический опыт работы с различными концепциями JavaScript, такими как создание переменных, использование функций, работа с датами, доступ и добавление свойств в DOM и многое другое.

Давайте начнем.

Компоненты цифровых часов

Цифровые часы состоят из четырех частей: часа, минуты, секунды и меридиана.

Структура папок проекта Digital Clock

Создайте корневую папку, содержащую файлы HTML, CSS и JavaScript. Вы можете называть файлы как хотите. Здесь корневая папка называется Digital-Clock . В соответствии со стандартным соглашением об именах файлы HTML, CSS и JavaScript называются index.html , styles.css и script.js соответственно.

Добавление структуры к цифровым часам с помощью HTML

Откройте файл index.html и вставьте следующий код:

 <!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<title> Digital Clock Using JavaScript </title>
<link rel = "stylesheet" href = "styles.css">
</head>
<body>
<div id = "digital-clock"> </div>
<script src = "script.js"> </script>
</body>
</html>

Здесь создается div с идентификатором цифровых часов . Этот div используется для отображения цифровых часов с помощью JavaScript. styles.css – это внешняя страница CSS, связанная с HTML-страницей с помощью тега <link> . Точно так же script.js – это внешняя JS-страница, которая связана с HTML-страницей с помощью тега < script> .

Добавление функциональности к цифровым часам с помощью JavaScript

Откройте файл script.js и вставьте следующий код:

 function Time() {
// Creating object of the Date class
var date = new Date();
// Get current hour
var hour = date.getHours();
// Get current minute
var minute = date.getMinutes();
// Get current second
var second = date.getSeconds();
// Variable to store AM / PM
var period = "";
// Assigning AM / PM according to the current hour
if (hour >= 12) {
period = "PM";
} else {
period = "AM";
}
// Converting the hour in 12-hour format
if (hour == 0) {
hour = 12;
} else {
if (hour > 12) {
hour = hour - 12;
}
}
// Updating hour, minute, and second
// if they are less than 10
hour = update(hour);
minute = update(minute);
second = update(second);
// Adding time elements to the div
document.getElementById("digital-clock").innerText = hour + " : " + minute + " : " + second + " " + period;
// Set Timer to 1 sec (1000 ms)
setTimeout(Time, 1000);
}
// Function to update time elements if they are less than 10
// Append 0 before time elements if they are less than 10
function update(t) {
if (t < 10) {
return "0" + t;
}
else {
return t;
}
}
Time();

Понимание кода JavaScript

Функции Time () и update () используются для добавления функциональности цифровым часам.

Получение элементов текущего времени

Чтобы получить текущую дату и время, вам необходимо создать объект Date. Это синтаксис для создания объекта Date в JavaScript:

 var date = new Date();

Текущая дата и время будут сохранены в переменной даты . Теперь вам нужно извлечь текущий час, минуту и ​​секунду из объекта даты.

date.getHours () , date.getMinutes () и date.getSeconds () используются для получения текущего часа, минуты и секунды соответственно из объекта даты. Все временные элементы хранятся в отдельных переменных для дальнейших операций.

 var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();

Назначение текущего меридиема (AM / PM)

Поскольку цифровые часы имеют 12-часовой формат, вам необходимо назначить соответствующий меридием в соответствии с текущим часом. Если текущий час больше или равен 12, то меридием является PM (Post Meridiem), в противном случае – AM (Ante Meridiem).

 var period = "";
if (hour >= 12) {
period = "PM";
} else {
period = "AM";
}

Преобразование текущего часа в 12-часовой формат

Теперь вам нужно преобразовать текущий час в 12-часовой формат. Если текущий час равен 0, то текущий час обновляется до 12 (в соответствии с 12-часовым форматом). Кроме того, если текущий час больше 12, он уменьшается на 12, чтобы соответствовать 12-часовому формату времени.

Связанный: Как отключить выделение текста, вырезать, копировать, вставить и щелкнуть правой кнопкой мыши на веб-странице

 if (hour == 0) {
hour = 12;
} else {
if (hour > 12) {
hour = hour - 12;
}
}

Обновление элементов времени

Вам необходимо обновить элементы времени, если они меньше 10 (однозначные). 0 добавляется ко всем однозначным элементам времени (час, минута, секунда).

 hour = update(hour);
minute = update(minute);
second = update(second);
function update(t) {
if (t < 10) {
return "0" + t;
}
else {
return t;
}
}

Добавление элементов времени в DOM

Во-первых, доступ к DOM осуществляется с помощью идентификатора целевого div ( цифровые часы ). Затем элементы времени присваиваются div с помощью установщика innerText .

 document.getElementById("digital-clock").innerText = hour + " : " + minute + " : " + second + " " + period;

Обновление часов каждую секунду

Часы обновляются каждую секунду с помощью метода setTimeout () в JavaScript.

 setTimeout(Time, 1000);

Стилизация цифровых часов с помощью CSS

Откройте файл styles.css и вставьте следующий код:

Связанный: Как использовать CSS box-shadow: уловки и примеры

 /* Importing Open Sans Condensed Google font */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans+Condensed:wght@300&display=swap');

#digital-clock {
background-color: #66ffff;
width: 35%;
margin: auto;
padding-top: 50px;
padding-bottom: 50px;
font-family: 'Open Sans Condensed', sans-serif;
font-size: 64px;
text-align: center;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

Приведенный выше CSS используется для стилизации цифровых часов. Здесь шрифт Open Sans Condensed используется для отображения текста часов. Он импортирован из шрифтов Google с помощью @import . Селектор идентификатора # digital-clock используется для выбора целевого div. Селектор id использует атрибут id элемента HTML для выбора определенного элемента.

По теме: простые примеры кода CSS, которые вы можете изучить за 10 минут

Если вы хотите взглянуть на полный исходный код, использованный в этой статье, вот репозиторий GitHub . Кроме того, если вы хотите взглянуть на живую версию этого проекта, вы можете проверить ее на страницах GitHub .

Примечание . Код, использованный в этой статье, лицензирован MIT .

Разработка других проектов JavaScript

Если вы новичок в JavaScript и хотите стать хорошим веб-разработчиком, вам необходимо создать несколько хороших проектов на основе JavaScript. Они могут повысить ценность вашего резюме, а также вашей карьеры.

Вы можете опробовать некоторые проекты, такие как «Калькулятор», «Палач», «Крестики-нолики», погодное приложение на JavaScript, интерактивную целевую страницу, инструмент для преобразования веса, «Каменные ножницы» и т.

Если вы ищете свой следующий проект на основе JavaScript, простой калькулятор – отличный выбор.