圆形数字时钟同时显示数字时钟、日期和星期特效

前几天看到动画效果,于是今天想写个时钟效果分享。

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>日期时钟特效</title>
		<style type="text/css">
			* {
				padding: 0;
				margin: 0;
			}

			#date {
				width: 450px;
				height: 300px;
				border-radius: 10px;
				margin: 100px auto;
				position: relative;
			}

			#nowDate {
				width: 450px;
				height: 60px;
				line-height: 60px;
				text-align: center;
				color: brown;
				font-size: 26px;
			}

			#clock {
				width: 250px;
				height: 250px;
				background: url('images/clock.jpg') no-repeat;
				background-size: cover;
				position: relative;
				margin: 2px auto;
			}

			#hour,
			#minute,
			#second {
				position: absolute;
				width: 10px;
				height: 250px;
				left: 50%;
				top: 0;
				margin-left: -4px;
			}

			#hour {
				background: url('images/hour.png') no-repeat center center;
				background-size: 12px;
			}

			#minute {
				background: url('images/minute.png') no-repeat center center;
				background-size: 10.5px;
			}

			#second {
				background: url('images/second.png') no-repeat center center;
				background-size: 11px;
			}
		</style>
	</head>
	<body>
		<div id="date">
			<p id="nowDate"></p>

			<div id="clock">
				<div id="hour"></div>
				<div id="minute"></div>
				<div id="second"></div>
			</div>
		</div>
		<script type="text/javascript">
			// 1.获取标签
			var nowDate = document.getElementById('nowDate');
			var day = document.getElementById('day');
			// 用定时器 更新时间的变化
			setInterval(nowNumTime, 10);

			function nowNumTime() {
				var now = new Date();
				var hour = now.getHours(); //0 ~ 23.   //19
				var minute = now.getMinutes();
				var second = now.getSeconds();
				var year = now.getFullYear();
				var month = now.getMonth() + 1;
				var d = now.getDate();
				var week = now.getDay();
				//console.log(week); //索引
				var weeks = ['星期天', '星期一', '星期二', '星期叁', '星期肆', '星期伍', '星期六'];
				// 18 > 12  ? 18-12  : 8
				var temp = '' + (hour > 12 ? hour - 12 : hour);
				if (hour === 0) {
					temp = '12';
				}
				temp = temp + (minute < 10 ? ':0' : ":") + minute;
				temp = temp + (second < 10 ? ':0' : ":") + second;
				temp = temp + (hour >= 12 ? ' P.M.' : " A.M.");
				temp = `${year}年${month}月${d}日  ${temp} ${weeks[week]}`;
				nowDate.innerHTML = temp;
			}
			
			// 1.获取标签
			var hour = document.getElementById('hour');
			var minute = document.getElementById('minute');
			var second = document.getElementById('second');
			
			// 2.开启定时器 获取当前时间
			setInterval(function() {
				// 2.1 获取当前的时间戳
				var now = new Date();
				// 2.2 获取小时 分钟 秒
				var s = now.getSeconds();
				var m = now.getMinutes() + s / 60;
				var h = now.getHours() % 12 + m / 60;
				// 2.3 旋转
				second.style.transform = `rotate(${s * 6}deg)`;
				minute.style.transform = `rotate(${m * 6}deg)`;
				hour.style.transform = `rotate(${h * 30}deg)`;
			
			}, 10);
		</script>
		
	</body>
</html>

js基于css3制作的圆形虚线时钟特效,一款简单的网页时钟,实时动态获取本地时间,同时还显示数字时钟、日期和星期。

 

《圆形数字时钟同时显示数字时钟、日期和星期特效》

    原文作者:小妖王木木
    原文地址: https://blog.csdn.net/qq_44752978/article/details/107944026
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞