JS+CSS實現(xiàn)動態(tài)時鐘
本文實例為大家分享了JS+CSS實現(xiàn)動態(tài)時鐘的具體代碼,供大家參考,具體內(nèi)容如下
知識點總結(jié):
document.querySelector()方法返回文檔中匹配指定 CSS 選擇器的一個元素。
setInterval() 方法可按照指定的周期(以毫秒計)來調(diào)用函數(shù)或計算表達(dá)式。setInterval() 方法會不停地調(diào)用函數(shù),直到 clearInterval() 被調(diào)用或窗口被關(guān)閉。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的參數(shù)。
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='http://m.cgvv.com.cn/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;}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. .NET SkiaSharp 生成二維碼驗證碼及指定區(qū)域截取方法實現(xiàn)2. CentOS郵件服務(wù)器搭建系列—— POP / IMAP 服務(wù)器的構(gòu)建( Dovecot )3. idea設(shè)置提示不區(qū)分大小寫的方法4. IntelliJ IDEA創(chuàng)建web項目的方法5. ASP.NET MVC通過勾選checkbox更改select的內(nèi)容6. Django使用HTTP協(xié)議向服務(wù)器傳參方式小結(jié)7. HTTP協(xié)議常用的請求頭和響應(yīng)頭響應(yīng)詳解說明(學(xué)習(xí))8. css代碼優(yōu)化的12個技巧9. ASP中實現(xiàn)字符部位類似.NET里String對象的PadLeft和PadRight函數(shù)10. 存儲于xml中需要的HTML轉(zhuǎn)義代碼
