您的位置:首页技术文章
文章详情页

JS+CSS实现动态时钟

【字号: 日期:2024-04-05 13:28:46浏览:45作者:猪猪

本文实例为大家分享了JS+CSS实现动态时钟的具体代码,供大家参考,具体内容如下

JS+CSS实现动态时钟

知识点总结:

document.querySelector()方法返回文档中匹配指定 CSS 选择器的一个元素。

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

HTML+js部分

<!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'> <link rel='stylesheet' href='https://www.haobala.com/bcjs/shiying.css' > <title>Document</title></head><body> <div class='clock'> <div class='hour'> <div id='hr'></div> </div> <div class='min'> <div id='mn'></div> </div> <div class='sec'> <div id='sc'></div> </div> </div> <script type='text/javascript'> const deg = 6; const hr = document.querySelector(’#hr’); const mn = document.querySelector(’#mn’); const sc = document.querySelector(’#sc’); setInterval(() => { let day = new Date(); let hh = day.getHours() * 30; let mm = day.getMinutes() * deg; let ss = day.getSeconds() * deg; hr.style.transform = `rotateZ(${(hh) + (mm / 12)}deg)`; mn.style.transform = `rotateZ(${mm}deg)`; sc.style.transform = `rotateZ(${ss}deg)`; }) </script></body></html>

CSS部分

*{ margin:0; padding:0; box-sizing: border-box;}body{ display: flex; justify-content: center; align-items: center; min-height: 100vh; background: #091921;}.clock{ width: 350px; height: 350px; display:flex; justify-content: center; align-items: center; background: url(1613462007944.png); background-size: cover; border:4px solid #091921; border-radius: 50%; box-shadow: 0 -15px 15px rgba(255,255,255,0.05), inset 0 -15px 15px rgba(255,255,255, 0.05), 0 -15px 15px rgba(0,0,0,0.05), inset 0 -15px 15px rgba(0,0,0, 0.05);}.clock:before{ content:''; position: absolute; width: 15px; height: 15px; background: #fff; border-radius: 50%; z-index:10000;}.clock .hour,.clock .min,.clock .sec{ position: absolute;}.clock .hour, .hr{ width: 160px; height: 160px;}.clock .min, .mn{ width: 190px; height: 190px;}.clock .sec, .sc{ width: 230px; height: 230px;}.hr, .mn, .sc{ display: flex; justify-content: center; position: absolute; border-radius: 50%;}.hr:before{ content:''; position: absolute; width: 8px; height: 80px; background: #ff105e; z-index: 10; border-radius: 6px 6px 0 0;}.mn:before{ content:''; position: absolute; width: 4px; height: 90px; background: #fff; z-index: 11; border-radius: 6px 6px 0 0;}.sc:before{ content:''; position: absolute; width: 4px; height: 150px; background: #fff; z-index:12; border-radius: 6px 6px 0 0;}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。

标签: JavaScript
相关文章: