利用css+javascript可以做一个简单的时钟

html布局

<div id="warp">
	<ul>
	</ul>
	<div class="hour"></div>
	<div class="min"></div>
	<div class="sec"></div>
	<div class="icon"></div>
</div>

设置时,分,秒钟样式

#warp > .hour{
	position: absolute;
	left: 97px;
	top:70px;
	height: 30px;
	width: 6px;
	background: black;
	transform-origin: center bottom;
}
#warp > .min{
	position: absolute;
	left: 98px;
	top: 50px;
	height: 50px;
	width: 4px;
	background: gray;
	transform-origin: center bottom;
}
#warp > .sec{
	position: absolute;
	left: 99px;
	top: 30px;
	height: 70px;
	width: 2px;
	background: red;
	transform-origin: center bottom;
}
#warp > .icon{
	position: absolute;
	left: 90px;
	top: 90px;
	height: 20px;
	width: 20px;
	border-radius: 50%;
	background: pink;
}

获取本地时间,设置动画效果

var hourNode=document.querySelector("#warp > .hour")
var minNode=document.querySelector("#warp > .min")
var secNode=document.querySelector("#warp > .sec")
var ulNode=document.querySelector("#warp > ul")
var styleNode=document.querySelector("#css")   

var liHtml="",cssText=""
for (var i = 0; i < 60; i++) {
	liHtml+="<li></li>"
	cssText+="ul > li:nth-child("+(i+1)+"){transform: rotate("+(i*6)+"deg);}"
}
ulNode.innerHTML=liHtml;
styleNode.innerHTML+=cssText;

设置动态效果:

function move(){
	var date=new Date()
	var s=date.getSeconds()
	var m=date.getMinutes()+s/60;
	var h=date.getHours()+m/60;
	
	hourNode.style.transform="rotate("+(30*h)+"deg)"
	minNode.style.transform="rotate("+(6*m)+"deg)"
	secNode.style.transform="rotate("+(6*s)+"deg)"
}

最终效果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞鱼点点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值