Matheus Cunha
Matheus Cunha03/09/2023 18:13
Compartilhe

Criando um Relógio Digital com JavaScript e CSS

  • #JavaScript
  • #CSS

Você já se perguntou como funciona a mágica por trás dos relógios digitais que você vê em sites e aplicativos? Bem, a resposta é JavaScript e CSS! Neste artigo, vamos explorar como criar seu próprio relógio digital interativo usando essas poderosas tecnologias. Vamos mergulhar no mundo do desenvolvimento web e aprender a fazer o tempo literalmente voar na tela.

Entendendo o Básico: HTML Estrutural

Antes de começarmos a programar, precisamos configurar a estrutura básica do nosso relógio digital. Usaremos HTML para isso. Aqui está o código:

<!DOCTYPE html>
<html lang="pt-br">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
<title>Relógio Digital</title>
</head>

<body>
<div class="clock">
  <div class="time" id="time">12:00:00</div>
</div>
<script src="script.js"></script>
</body>

</html>

E aqui está o resultado:

image

Aqui, criamos uma estrutura simples com uma div que conterá nosso relógio. A hora atual será exibida em uma outra div com o id "time". Vamos ao CSS para estilizar isso.

Estilizando com Estilo: CSS para a Aparência

Em seguida, vamos criar um arquivo CSS (styles.css) para dar vida ao nosso relógio. Aqui está um exemplo básico de estilo:

body {
  font-family: Arial, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  margin: 0;
}

.clock {
  background-color: #333;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.time {
  color: #fff;
  font-size: 2rem;
}

image

Esta estilização alinha nosso relógio ao centro da tela e aplica algumas formatações visuais para torná-lo atraente.

Hora de Programar: JavaScript para a Lógica

Agora, a parte mais emocionante: o JavaScript! Vamos criar um arquivo JavaScript (script.js) para atualizar a hora em tempo real. Aqui está o código:

function updateTime() {
  const timeElement = document.getElementById('time');
  const now = new Date();
  const hours = now.getHours().toString().padStart(2, '0');
  const minutes = now.getMinutes().toString().padStart(2, '0');
  const seconds = now.getSeconds().toString().padStart(2, '0');
  const timeString = `${hours}:${minutes}:${seconds}`;
  timeElement.textContent = timeString;
}

setInterval(updateTime, 1000); // Atualiza a cada segundo
updateTime(); // Chama a função para exibir o tempo atual imediatamente

Aqui, criamos uma função updateTime que obtém a hora atual, minutos e segundos e atualiza o conteúdo da div com o id "time". Usamos setInterval para chamar esta função a cada segundo, garantindo que nosso relógio seja preciso.

image

A Magia Acontece: Testando o Relógio

Agora que tudo está configurado, abra o arquivo HTML em seu navegador e veja a mágica acontecer! Você terá um relógio digital funcional na tela, atualizando automaticamente a cada segundo.

Conclusão: Hora de Explorar

Criar um relógio digital com JavaScript e CSS é uma introdução empolgante ao mundo do desenvolvimento web. À medida que você se familiariza com essas tecnologias, as possibilidades são infinitas. Você pode adicionar alarmes, personalizar o estilo ou até mesmo integrar com outras funcionalidades.

Este é apenas o começo da sua jornada no desenvolvimento web. Continue experimentando, aprendendo e criando coisas incríveis! Divirta-se explorando o fascinante mundo do desenvolvimento front-end. Este relógio digital é apenas o começo.

Veja o código: https://codepen.io/xtirian/pen/VwqKbaW

Compartilhe
Comentários (3)
Leandro Paiva
Leandro Paiva - 03/09/2023 19:43

Amigo que artigo massa, para quem está começando ajuda bastante.


Vamos compartilhar conhecimento sempre.


Vlw!

Katia Silva
Katia Silva - 03/09/2023 19:41

Massa!

RJ

Roberto Júnior - 03/09/2023 18:44

Achei interessante como os métodos getHours, getMinutes e getSeconds não precisam especificar a quantidade (ex.: hora 24, minutos 60, segundos 60). Fazem parte da biblioteca de newDate ou now?

Excelente conteúdo