前端實現(xiàn)時鐘網(wǎng)頁的詳細代碼示例
更新時間:2024年09月27日 10:27:49 作者:Byyyi耀
本文介紹了如何在網(wǎng)頁中實現(xiàn)一個動態(tài)顯示的時鐘,并且添加了白天和夜晚兩種模式的切換功能,通過簡單的HTML結構和JavaScript代碼,使用Date()函數(shù)動態(tài)獲取當前的時間,并將時、分、秒通過邏輯綁定到相應的div元素上,實現(xiàn)時鐘的動態(tài)顯示,需要的朋友可以參考下
項目介紹
時鐘顯示在網(wǎng)頁中央,并且使網(wǎng)頁能夠切換白天和夜晚兩種模式。搭建基本的html結構,動態(tài)得到實時的時,分,秒通過Date()函數(shù)獲得。將得到的數(shù)字根據(jù)邏輯,綁定給各div結構,實行動態(tài)旋轉。點擊按鈕,改變背景顏色給出最終的HTML代碼。
代碼
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>現(xiàn)代風格時鐘</title> <style> body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; font-family: Arial, sans-serif; background-color: #f0f0f0; transition: background-color 0.5s; } .clock-container { display: flex; flex-direction: column; align-items: center; } .clock { width: 200px; height: 200px; border-radius: 50%; background-color: white; position: relative; box-shadow: 0 0 20px rgba(0,0,0,0.1); } .hand { position: absolute; bottom: 50%; left: 50%; transform-origin: 50% 100%; border-radius: 5px; } .hour { width: 4px; height: 50px; background-color: #333; } .minute { width: 3px; height: 70px; background-color: #666; } .second { width: 2px; height: 90px; background-color: #e74c3c; } .center { position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; border-radius: 50%; background-color: #333; transform: translate(-50%, -50%); } .digital-time { font-size: 48px; margin-top: 20px; color: #333; } .mode-switch { margin-top: 20px; padding: 10px 20px; font-size: 16px; cursor: pointer; background-color: #333; color: white; border: none; border-radius: 5px; transition: background-color 0.3s; } .mode-switch:hover { background-color: #555; } .night-mode { background-color: #222; } .night-mode .clock { background-color: #333; box-shadow: 0 0 20px rgba(255,255,255,0.1); } .night-mode .hour, .night-mode .minute { background-color: #fff; } .night-mode .second { background-color: #e74c3c; } .night-mode .center { background-color: #fff; } .night-mode .digital-time { color: #fff; } .night-mode .mode-switch { background-color: #f0f0f0; color: #333; } .night-mode .mode-switch:hover { background-color: #ddd; } </style> </head> <body> <div class="clock-container"> <div class="clock"> <div class="hand hour"></div> <div class="hand minute"></div> <div class="hand second"></div> <div class="center"></div> </div> <div class="digital-time"></div> <button class="mode-switch">Dark mode</button> </div> <script> function updateClock() { const now = new Date(); const hours = now.getHours(); const minutes = now.getMinutes(); const seconds = now.getSeconds(); const hourDeg = (hours % 12 + minutes / 60) * 30; const minuteDeg = (minutes + seconds / 60) * 6; const secondDeg = seconds * 6; document.querySelector('.hour').style.transform = `translateX(-50%) rotate(${hourDeg}deg)`; document.querySelector('.minute').style.transform = `translateX(-50%) rotate(${minuteDeg}deg)`; document.querySelector('.second').style.transform = `translateX(-50%) rotate(${secondDeg}deg)`; const digitalTime = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')} ${hours >= 12 ? 'PM' : 'AM'}`; document.querySelector('.digital-time').textContent = digitalTime; } function toggleMode() { document.body.classList.toggle('night-mode'); const button = document.querySelector('.mode-switch'); button.textContent = document.body.classList.contains('night-mode') ? 'Light mode' : 'Dark mode'; } setInterval(updateClock, 1000); updateClock(); // 立即更新一次,避免延遲 document.querySelector('.mode-switch').addEventListener('click', toggleMode); </script> </body> </html>
效果圖
總結
到此這篇關于前端實現(xiàn)時鐘網(wǎng)頁的文章就介紹到這了,更多相關前端時鐘網(wǎng)頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決layer彈出層的內(nèi)容頁點擊按鈕跳轉到新的頁面問題
今天小編就為大家分享一篇解決layer彈出層的內(nèi)容頁點擊按鈕跳轉到新的頁面問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09Javascript如何判斷數(shù)據(jù)類型和數(shù)組類型
這篇文章主要介紹Javascript如何判斷數(shù)據(jù)類型和數(shù)組類型,通俗易懂,需要的朋友可以參考下。2016-06-06