JS框架_(Vue.js)带有星期日期的数字时钟

数字时钟效果:

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

原文地址:https://www.cnblogs.com/1138720556Gary/p/9381643.html

时间: 2024-10-21 22:42:31

JS框架_(Vue.js)带有星期日期的数字时钟的相关文章

JS框架_(JQuery.js)绚丽的3D星空动画

绚丽的3D星空动画效果(纯CSS) (3D星空动画可以用作网页背景,Gary为文本文字) <!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name=

JS框架_(Popup.js)3D对话框窗口插件

3D对话框窗口插件效果: <!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content=&qu

JS框架_(jQuery.js)Tooltip弹出式按钮插件

弹出式按钮效果 <!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <title>jQuery实现Tooltip弹出样式的分享按钮DEMO演示</title> <link rel="stylesheet" href="css/style.css"> </head> <body><

JS框架_(coolShow.js)图片旋转动画特效

coolShow.js插件图片旋转动画效果 <!DOCTYPE HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>coolShow.js插件图片旋转动画特效</title> <link href="css/coolShow.css" rel="

JS框架_(JQuery.js)夜晚天空满天星星闪烁动画

满天星星闪烁动画效果: (可用星空动画来作为页面背景,白色文字改为文章或者其他的O(∩_∩)O) <!doctype html> <html> <head> <meta charset="utf-8"> <title>jQuery夜晚天空满天星星闪烁动画</title> <script src="js/jquery.min.js"></script> <style&

JS框架_(Qrcode.js)插件将你的内容转换成二维码格式

二维码格式演示 (扫描此二维码会自动跳转到我博客的首页O(∩_∩)O~) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>qrcode.js插件将你的内容转换成二维码格式</title> <link rel="stylesheet" href="css/style.cs

JS框架_(jQuery.js)文章全屏动画切换

文章全屏动画切换效果 <!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="

JS框架_(JQuery.js)模拟刮奖

纯CSS模拟刮奖效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatibl

JS框架_(JQuery.js)图片相册掀开切换效果

图片掀开切换效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&quo