百度雲盤 傳送門 密碼:tv1v
數字時鍾效果:

<!doctype html> <html> <head> <meta charset="utf-8"> <title>vue.js帶有星期日期的數字時鍾代碼</title> <style> html, body { height: 100%; } body { background:#C7C7C7; } p { margin: 0; padding: 0; } #clock { font-family: 'Share Tech Mono', monospace; color: #ffffff; text-align: center; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: #daf6ff; text-shadow: 0 0 20px #0aafe6, 0 0 20px rgba(10, 175, 230, 0); } #clock .time { letter-spacing: 0.05em; font-size: 80px; padding: 5px 0; } #clock .date { letter-spacing: 0.1em; font-size: 24px; } #clock .text { letter-spacing: 0.1em; font-size: 12px; padding: 20px 0 0; } </style> </head> <body> <script type="text/javascript" src="js/vue.min.js"></script> <div id="clock"> <h1>Gary</h1> <p class="date">{{ date }}</p> <p class="time">{{ time }}</p> <p class="text">數字時鍾</p> </div> <script> var clock = new Vue({ el: '#clock', data: { time: '', date: '' } }); var week = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; var timerID = setInterval(updateTime, 1000); updateTime(); function updateTime() { var cd = new Date(); clock.time = zeroPadding(cd.getHours(), 2) + ':' + zeroPadding(cd.getMinutes(), 2) + ':' + zeroPadding(cd.getSeconds(), 2); clock.date = zeroPadding(cd.getFullYear(), 4) + '-' + zeroPadding(cd.getMonth()+1, 2) + '-' + zeroPadding(cd.getDate(), 2) + ' ' + week[cd.getDay()]; }; function zeroPadding(num, digit) { var zero = ''; for(var i = 0; i < digit; i++) { zero += '0'; } return (zero + num).slice(-digit); } </script> </body> </html>
實現過程:
一、設置CSS樣式
#clock .time {
letter-spacing: 0.05em;
font-size: 80px;
padding: 5px 0;
}
letter-spacing :增加或減少字符間的空白
font-size :設置字體的尺寸
padding:設置內邊距

一個參數
padding:10px;
所有 4 個內邊距都是 10px
兩個參數
padding:10px 5px;
上內邊距和下內邊距是 10px
右內邊距和左內邊距是 5px
三個參數
padding:10px 5px 15px;
上內邊距是 10px
右內邊距和左內邊距是 5px
下內邊距是 15px
四個參數
padding:10px 5px 15px 20px;
上內邊距是 10px
右內邊距是 5px
下內邊距是 15px
左內邊距是 20px
設置四個外邊距的順序是上、右、下、左,請記住順時針即可。
#clock .date {
letter-spacing: 0.1em;
font-size: 24px;
}
#clock .text {
letter-spacing: 0.1em;
font-size: 12px;
padding: 20px 0 0;
}
二、引入vue.js
<script type="text/javascript" src="js/vue.min.js"></script> <div id="clock"> <h1>Gary</h1> <p class="date">{{ date }}</p> <p class="time">{{ time }}</p> <p class="text">數字時鍾</p> </div>
創建數字時鍾對象
<script> var clock = new Vue({ el: '#clock', data: { time: '', date: '' } }); var week = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; var timerID = setInterval(updateTime, 1000); updateTime(); function updateTime() { var cd = new Date(); clock.time = zeroPadding(cd.getHours(), 2) + ':' + zeroPadding(cd.getMinutes(), 2) + ':' + zeroPadding(cd.getSeconds(), 2); clock.date = zeroPadding(cd.getFullYear(), 4) + '-' + zeroPadding(cd.getMonth()+1, 2) + '-' + zeroPadding(cd.getDate(), 2) + ' ' + week[cd.getDay()]; }; function zeroPadding(num, digit) { var zero = ''; for(var i = 0; i < digit; i++) { zero += '0'; } return (zero + num).slice(-digit); } </script>
setInterval(code,millisec) :可按照指定的周期(以毫秒計)來調用函數或計算表達式
code:要調用的函數或要執行的代碼串
millisec :周期性執行或調用 code 之間的時間間隔,以毫秒計
function zeroPadding(num, digit) { var zero = ''; for(var i = 0; i < digit; i++) { zero += '0'; } return (zero + num).slice(-digit); }
num參數:返回系統時間
dight參數:當時鍾小於兩位數digit位數時候補,年份四位,月日為兩位
js.slice() 方法可從已有的數組中返回選定的元素
updateTime()函數中調用zeroPadding()統一數字時鍾時間格式
function updateTime() { var cd = new Date(); clock.time = zeroPadding(cd.getHours(), 2) + ':' + zeroPadding(cd.getMinutes(), 2) + ':' + zeroPadding(cd.getSeconds(), 2); clock.date = zeroPadding(cd.getFullYear(), 4) + '-' + zeroPadding(cd.getMonth()+1, 2) + '-' + zeroPadding(cd.getDate(), 2) + ' ' + week[cd.getDay()]; };
JavaScript Date 對象:傳送門
getHours() :返回 Date 對象的小時 (0 ~ 23)
getMinutes() :返回 Date 對象的分鍾 (0 ~ 59)
getSeconds() :返回 Date 對象的秒數 (0 ~ 59)
setFullYear() :設置 Date 對象中的年份(四位數字)
getMonth() :從Date 對象返回月份 (0 ~ 11)
getDate() :從Date 對象返回一個月中的某一天 (1 ~ 31)