JS框架_(Vue.js)帶有星期日期的數字時鍾


 

 

百度雲盤  傳送門  密碼: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>
index.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
設置四個外邊距的順序是上、右、下、左,請記住順時針即可。
padding參數屬性值

 

#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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM