在本教學中,我們將藉助HTML 和CSS 設計一個模擬時鐘,並使用JavaScript 使其工作,這將以小時、分鐘和秒的格式顯示當前時間。
我們將使用Date 對象,並透過一些計算,我們將顯示小時、分鐘和秒。
我們將從JavaScript物件Date()取得系統時間,該物件具有諸如的函數>getHours()、 getSecond() 和getMinutes()。
取得後我們將應用小時、分鐘和秒格式來轉換所有三針時、分和秒的旋轉。
模擬時鐘透過連續移動的三隻指標來顯示時間,並在顯示時間時標記從 1 到 12。
建立HTML 檔案命名為index.html並新增一些樣板程式碼,這是基本的html語法,如下所示,在我們的HTML程式碼內有一個div,名稱為“sizeOfAnalog”,在這三個div內有相同的類別名稱“sizeOfAnalog”,名稱為hour_clock,分鐘_時鐘,秒_時鐘。
我們將在 HTML 程式碼中加入內部 CSS 以及內部 JavaScript。使用標籤可以套用內部CSS,使用<script></script>可以套用內部JavaScript。
在JavaScript部分,我們做主要的邏輯工作。我們將使用 JavaScript Date() 物件及其函數 getHours()、getSecond() 和 getMinutes() 來取得目前時間(以小時、分鐘和秒為單位)。獲得時、分、秒格式後,我們將套用轉換所有三針時、分、秒的旋轉。
步驟1 - 我們使用「background: url(clock.png) no-repeat;」程式碼在螢幕上套用時鐘的背景圖像,這裡的no-repeat是為了防止圖像重複本身。
第 2 步 - 現在我們將使用 Date() 物件來取得目前時間,我們也可以從 Date 物件中分別取得目前小時、分鐘和秒。現在我們將從 HTML 程式碼中取得小時、分鐘和秒,並將指標的旋轉轉換為 360 度。
第 3 步 - 如我們所知,360 度後度數將被視為一次旋轉。因此,如果想要從這 360 度總共得到 12 小時,可以使用 (360/12) 來完成,這將在一小時內得到 30 度。
第 4 步 - 每分鐘相同,因為我們總共需要 360 分鐘 60 分鐘,因此可以使用每分鐘所需的 (360/60) = 6 度來完成。
第 5 步 -在使用 setInterval() 的 JavaScript 部分中,我們可以每 1000ms(毫秒)運行一次設定時鐘,因為 1 秒等於 1000ms。
因此,我們使用new 建立日期物件Date()
來取得0到23之間的小時getHours()
取得0到59之間的分鐘getMinutes()
取得0 到59 之間的秒getSeconds()
第6 步 - 獲得所有三個值後,我們將對每隻指標進行旋轉,我們的類比時鐘將開始顯示時間。
以下是完整的程式碼使用 HTML、CSS 和 JavaScript 建立模擬時鐘。
<!DOCTYPE html> <html> <head> <title>Analog Clock Tutorials Point</title> <style> #sizeOfAnalog { position: relative; background: url(https://www.tutorialspoint.com/assets/questions/tmp/clock.png) no-repeat; background-size: 100%; margin-top: 2%; margin: auto; height: 90vh; width: 90vh; } #hour_clock { position: absolute; background: black; border-radius: 10px; transform-origin: bottom; height: 25%; top: 25%; left: 48.85%; opacity: 0.8; width: 2%; } #minute_clock { position: absolute; background: black; border-radius: 10px; transform-origin: bottom; left: 48.9%; opacity: 0.8; width: 1.6%; height: 32%; top: 18%; } #second_clock { position: absolute; background: black; border-radius: 10px; transform-origin: bottom; width: 1%; height: 36%; top: 14%; left: 50%; opacity: 0.8; } </style> </head> <body> <div id="sizeOfAnalog"> <div id="hour_clock"></div> <div id="minute_clock"></div> <div id="second_clock"></div> </div> <script> var hour = document.getElementById("hour_clock"); var minute = document.getElementById("minute_clock"); var seconds = document.getElementById("second_clock"); var addClock = setInterval(function clock() { var date_now = new Date(); var hr = date_now.getHours(); var min = date_now.getMinutes(); var sec = date_now.getSeconds(); var calc_hr = hr * 30 + min / 2; var calc_min = min * 6; var calc_sec = sec * 6; hour.style.transform = "rotate(" + calc_hr + "deg)"; minute.style.transform = "rotate(" + calc_min + "deg)"; seconds.style.transform = "rotate(" + calc_sec + "deg)"; }, 1000); </script> </body> </html>
以上是如何使用 HTML、CSS 和 JavaScript 建立模擬時鐘?的詳細內容。更多資訊請關注PHP中文網其他相關文章!