Build a Digital Clock HTML ,CSS, and Javascript
Learners, In this article we are going to design a Progress bar Digital Clock. which is a basic javascript project based on the date-time functionality of javascript.
Learners I’m assuming that you will know and see this type of clock in your life as well because it is still available in the present era.
So, again let me quickly give me a hand watch your hand has your left hand bindup with the watch is it then observe it. if your watch has 3 needles then understand it as an analog clock or the clock that you watch on you wall of your home it is also an example of an analog.
If it is not and if you are able to observe a mathematical number on it then it is a digital clock or the clock that we used to watch at railway stations it is also an example of a digital clock.
Something similar we are going to design by today’s blog.
Hey learners, Welcome to our today’s blog with codewithrandom. In this blog, we gonna learn how we can design a Progress bar Digital Clock Project Using HTML, CSS, and JAVASCRIPT.
Let’s have a look at our Digital Clock project.
As you are looking in the project preview how the thing is organized in the single container.
Portfolio Website Using HTML ,CSS and Javascript Source Code
HTML SECTION For Digital Clock
- First, we have a container that is div with the class time that will enclose all other parts of the whether project.
- Within the container, we have designed a three-circle shape with the help of SVG within the circle we will place our time and will put hr in first and succeeding min and sec and next circle.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Digital Clock</title> </head> <body> <div id="time"> <div class="circle" style="--clr: #ff2972"> <div class="dots hr_dot"></div> <svg> <circle cx="75" cy="75" r="70"></circle> <circle cx="75" cy="75" r="70" id="hh"></circle> </svg> <div id="hours">00</div> </div> <div class="circle" style="--clr: #fee800"> <div class="dots min_dot"></div> <svg> <circle cx="75" cy="75" r="70"></circle> <circle cx="75" cy="75" r="70" id="mm"></circle> </svg> <div id="minutes">00</div> </div> <div class="circle" style="--clr: #04fc43"> <div class="dots sec_dot"></div> <svg> <circle cx="75" cy="75" r="70"></circle> <circle cx="75" cy="75" r="70" id="ss"></circle> </svg> <div id="seconds">00</div> </div> <div class="ap"> <div id="ampm">AM</div> </div> </div> </body> </html>
Weather App Using Html,Css And Javascript (Source Code )
CSS SECTION For Digital Clock
@import url('https://fonts.googleapis.com/css?family=Poppins:200,300,400,500,600,700,800,900&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Poppins', sans-serif; } body { display: flex; justify-content: center; align-items: center; min-height: 100vh; background: #2f363e; } #time { display: flex; gap: 40px; color: #FFF; } #time .circle { position: relative; width: 150px; height: 150px; display: flex; justify-content: center; align-items: center; } #time .circle svg { position: relative; width: 150px; height: 150px; transform: rotate(270deg); } #time .circle svg circle { width: 100%; height: 100%; fill: transparent; stroke: #191919; stroke-width: 4; /*transform: translate(5px, 5px);*/ } #time .circle svg circle:nth-child(2) { stroke: var(--clr); stroke-dasharray: 440; } #time div { position: absolute; text-align: center; font-weight: 500; font-size: 1.5em; } #time div span { position: absolute; transform: translate(-50%, -10px); font-size: 0.35em; font-weight: 300; letter-spacing: 0.1em; text-transform: uppercase; } #time .ap { position: relative; font-size: 1em; transform: translateX(-20px); } .dots { position: absolute; width: 100%; height: 100%; z-index: 10; display: flex; justify-content: center; } .dots::before { content: ''; position: absolute; top: -3px; width: 15px; height: 15px; background: var(--clr); border-radius: 50%; box-shadow: 0 0 20px var(--clr), 0 0 60px var(--clr); }
JavaScript SECTION For Digital Clock
setInterval(() => { let hours = document.getElementById('hours'); let minutes = document.getElementById('minutes'); let seconds = document.getElementById('seconds'); let ampm = document.getElementById('ampm'); let hh = document.getElementById('hh'); let mm = document.getElementById('mm'); let ss = document.getElementById('ss'); let hr_dot = document.querySelector('.hr_dot'); let min_dot = document.querySelector('.min_dot'); let sec_dot = document.querySelector('.sec_dot'); let h = new Date().getHours(); let m = new Date().getMinutes(); let s = new Date().getSeconds(); let am = h >= 12 ? "PM" : "AM"; // convert 24hr clock to 12hr clock if (h > 12) { h = h - 12; } // add zero before single digit number h = (h < 10) ? "0" + h : h; m = (m < 10) ? "0" + m : m; s = (s < 10) ? "0" + s : s; hours.innerHTML = h + "<br/><span>Hours</span>"; minutes.innerHTML = m + "<br/><span>Minutes</span>"; seconds.innerHTML = s + "<br/><span>Seconds</span>"; ampm.innerHTML = am; hh.style.strokeDashoffset = 440 - (440 * h) / 12; // 12 hrs clock mm.style.strokeDashoffset = 440 - (440 * m) / 60; ss.style.strokeDashoffset = 440 - (440 * s) / 60; hr_dot.style.transform = `rotate(${h * 30}deg)`; min_dot.style.transform = `rotate(${m * 6}deg)`; sec_dot.style.transform = `rotate(${s * 6}deg)`; });
Final Output Of a Digital Clock HTML ,CSS, and JavaScript
By this blog… We have learned how we can design a Progress bar Digital Clock Project HTML CSS JAVASCRIPT.
100+ JavaScript Projects With Source Code ( Beginners to Advanced)