JS+CSS3创意的数字时钟代码

JS+CSS3创意的数字时钟代码

添加时间:2021-03-15 04:14:35
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:计时器
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

一款JS+CSS3创意的数字时钟代码,时分秒都是通过竖直排列的数字来显示的,秒位的数字不停的变换着,数字10则用0来表示。
JS+CSS3创意的数字时钟代码
分类:日期时间 > 计时器 难易:初级

页面的head部分,需简单设置页面元素的样式,代码如下:

html,
body {
  background-color: #1f1f1f;
  margin: 0;
  font-size: 24px;
  color: white;
  text-align: center;
  font-family: 'Microsoft YaHei','Lantinghei SC','Open Sans',Arial,'Hiragino Sans GB','STHeiti','WenQuanYi Micro Hei','SimSun',sans-serif;
}

#clock {
  width: 350px;
  height: 350px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -175px;
  margin-top: -175px;
}

.digit-group {
  display: inline-block;
  height: 350px;
}
.digit-group:not(:last-child):after {
  content: ':';
  font-size: 72px;
}

.digit {
  display: inline-block;
  width: 50px;
}
.digit div {
  color: rgba(255, 255, 255, 0.1);
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transition: font-size 250ms, -webkit-transform 500ms;
  transition: font-size 250ms, -webkit-transform 500ms;
  transition: font-size 250ms, transform 500ms;
  transition: font-size 250ms, transform 500ms, -webkit-transform 500ms;
}
.digit div.highlight {
  color: inherit;
  font-size: 72px;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

页面的body部分,仅需设置一个div容器即可,代码如下:

<div></div>

页面的底部,需设置好数字时钟的各类响应,这里用了部分ES6的语法,代码如下:

let _timeElement10Digits = Array.from(Array(10)).map((n, i) => i);
let _timeElement6Digits = _timeElement10Digits.slice(0, 6);
let _timeElement3Digits = _timeElement10Digits.slice(0, 3);
let _timeElementStructure = [
	[_timeElement3Digits, _timeElement10Digits],
	[_timeElement6Digits, _timeElement10Digits],
	[_timeElement6Digits, _timeElement10Digits]
];

let clock = document.createElement("div");
clock.id = "clock";
document.body.appendChild(clock);
let digitGroups = [];

_timeElementStructure.forEach(digits => {
	let digitGroup = document.createElement("div");
	digitGroup.classList.add("digit-group");
	clock.appendChild(digitGroup);
	digitGroups.push(digitGroup);
	digits.forEach(digitList => {
		let digit = document.createElement("div");
		digit.classList.add("digit");
		digitList.forEach(n => {
			let ele = document.createElement("div");
			ele.innerText = n;
			digit.appendChild(ele);
		});
		digitGroup.appendChild(digit);
	});
});

function update() {
	requestAnimationFrame(update);
	let date = new Date();
	let time = [date.getHours(), date.getMinutes(), date.getSeconds()]
	.map(n => `0${n}`.slice(-2).split("").map(e => +e))
	.reduce((p, n) => p.concat(n), []);
	time.forEach((n, i) => {
		let digit = digitGroups[Math.floor(i * 0.5)].children[i % 2].children;
		Array.from(digit).forEach(n => n.classList.remove("highlight"));
		digit[n].classList.add("highlight");
	});
}
requestAnimationFrame(update);
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:JS+CSS3创意的数字时钟代码

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.410314s