JavaScript實現簡單鐘錶時鐘
阿新 • • 發佈:2021-11-02
本文例項為大家分享了實現簡單鐘錶時鐘的具體程式碼,供大家參考,具體內容如下
效果圖:
主要思想:
1.先畫一個圓錶盤。
2.再用迴圈畫刻度(每一個刻度都是li標籤)。
3.再畫時分秒指標。
4.再用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"> <title>Document</title> </head> <body> <style id="style"> ul{ list-style: none; } #circle{ width: 200px; height: 200px; border-radius: 100px; border: 1px solid black; } #kedu li{ width: 1px; height: 6px; border-radius: 10px; background-color: black; transform-origin: center 101px;/*設定li標籤的旋轉中心和旋轉半徑。*/ LxZuJyUmposition: absolute; left: 109px; top: 9px; } #kedu li:nth-of-type(5n+1){ height: 12px; width: 2px; } /* 秒針的繪製,用transform把div繪製成線條,後面的指標都是在這樣。 */ #second{ width: 2px; height: 80px; background-color: red; transform: scaleY(1); position: absolute; left: 108px; top: 30px; transform-origin: bottom; /*設定它們的旋轉中心,transform-origin: bottom;意思是以它們的底部為中心旋轉。*/ } #min{ width: 2px; height: 65px; background-color: gray; transform: scaleY(1); position: absolute; left: 108px; top: 45px; transform-origin: bottom; } #hour{ width: 2px; height: 50px; background-color: black; transform: scaleY(1); position: absolute; left: 108px; top: 60px; transform-origin: bottom; } #p12{ position: absolute; left: 100px; top: 0px; } #p3{ position: absolute; left: 190px; top: 84px; } #p6{ position: absolute; left: 105px; top: 165px; } #p9{ position: absolute; left: 20px; top: 82px; } </style> <div id="circle"> <ul id="kedu"></ul> </div> <div id="second"></div><!--繪製秒針--> <div id="min"></div><!--繪製分針--> <LxZuJyUm;div id="hour"></div><!--繪製時針--> <p id="p12">12</p> <p id="p3">3</p> <p id="p6">6</p> <p id="p9">9</p> <script> //繪製時鐘的刻度 動態建立60個li標籤。 function li(){ let ul=document.getElementById("kedu");//先獲取到ul,因為要在ul下建立li。 let ;//用來存li的style樣式中的CSS設定。 for(let i=0;i<60;i++){ css+=`#kedu li:nth-of-type(${i+1}){transform:rotate(${i*6}deg)}`//迴圈設定ul下的第i+1個li的旋轉角度,要在css中設定了li的旋轉中心 ul.innerHTML+=`<li></li>`;//這裡要用+=,如果直接用=,只會建立一個li,因為會覆蓋前面的li,為了不出現覆蓋就用+=。 } let sty=document.getElementById("style")//這裡獲取到style標籤。 sty.innerHTML+=css //把ul下的li標籤的css樣式寫入到style裡。 } li();//這裡結束就把刻度畫好了。 function timhttp://www.cppcns.come(){ let s=document.getElementById("second");//獲取到時分秒的三個指標,後面用來動態讓它們旋轉起來。 let m=document.getElementById("min"); let h=document.getElementById("hour"); //獲取時間。 let date=new Date(); let snum=date.getSeconds();//獲取現在是多少秒。 let mnum=date.getMinutes()+snum/60;//獲取現在是多少分,不能忘記加上 秒數/60。 let hnum=date.getHours()+mnum/60; //獲取現在是多少時,不能忘記加上 分鐘數/60。 s.style.transform=`rotate(${snum*6}deg)`;//設定的trasnform就可以讓它們旋轉起來,秒針時一秒旋轉6度。 m.style.transform=`rotate(${mnum*6}deg)`//分針也是一分鐘旋轉6度。 h.style.transform=`rotate(${hnum*30}deg)`//這裡時小時,一小時旋轉30度,所以*30. } setInterval(time,100)//用計時器每100ms執行這個time函式。 </script> </body> </html>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。