JS+CSS實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘
本文實(shí)例為大家分享了JS+CSS實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘的具體代碼,供大家參考,具體內(nèi)容如下
知識(shí)點(diǎn)總結(jié):
document.querySelector()方法返回文檔中匹配指定 CSS 選擇器的一個(gè)元素。
setInterval() 方法可按照指定的周期(以毫秒計(jì))來調(diào)用函數(shù)或計(jì)算表達(dá)式。
setInterval() 方法會(huì)不停地調(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="shiying.css" > <title>Document</title> </head> <body> <div class="clock"> <div class="hour"> <div class="hr" id="hr"></div> </div> <div class="min"> <div class="mn" id="mn"></div> </div> <div class="sec"> <div class="sc" 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; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript獲取URL參數(shù)與參數(shù)值的示例代碼
本篇文章主要是對(duì)javascript獲取URL參數(shù)與參數(shù)值的示例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12JavaScript超詳細(xì)實(shí)現(xiàn)網(wǎng)頁輪播圖
這篇文章主要介紹了JavaScript超詳細(xì)實(shí)現(xiàn)網(wǎng)頁輪播圖,我們經(jīng)常會(huì)看到各種輪播圖的效果,它們到底是怎樣實(shí)現(xiàn)的呢?今天我們就一起來看一下具體實(shí)現(xiàn)方法吧2021-12-12js和C# 時(shí)間日期格式轉(zhuǎn)換的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄猨s和C# 時(shí)間日期格式轉(zhuǎn)換的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05重置Redux的狀態(tài)數(shù)據(jù)的方法實(shí)現(xiàn)
這篇文章主要介紹了重置Redux的狀態(tài)數(shù)據(jù)的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11詳解Bootstrap glyphicons字體圖標(biāo)
本章將講解Bootstrap glyphicons字體圖標(biāo),并通過一些實(shí)例了解它的使用,字體圖標(biāo)是在 Web 項(xiàng)目中使用的圖標(biāo)字體。字體圖標(biāo)在下載的Bootstrap的fonts文件夾中2016-01-01js 將線性數(shù)據(jù)轉(zhuǎn)為樹形的示例代碼
這篇文章主要介紹了js 將線性數(shù)據(jù)轉(zhuǎn)為樹形的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05js點(diǎn)擊列表文字對(duì)應(yīng)該行顯示背景顏色的實(shí)現(xiàn)代碼
這篇文章主要介紹了js點(diǎn)擊列表文字對(duì)應(yīng)該行顯示背景顏色的實(shí)現(xiàn)代碼,感興趣的小伙伴可以參考下2015-08-08