用js获取系统时间,改变指针位置,自动执行函数从而得到指针转动效果。
待改进部分:指针的平滑移动
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
background-color: #ddd;
}
#biaopan {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 420px;
height: 420px;
border: black solid 10px ;
border-radius: 50%;
background-color: rgb(61, 61, 61);
}
#miaozhen {
width: 3px;
height: 200px;
position: absolute;
left: 50%;
background-color: #fff;
transform: rotate(0deg) translate(-50%);
transform-origin: 50% 100%;
animation: miaozhen 60s linear infinite;
z-index: 1;
}
#fenzhen {
width: 5px;
height: 160px;
position: absolute;
left: 50%;
bottom: 50%;
background-color: #fff;
transform: rotate(0deg) translate(-50%);
transform-origin: 50% 100%;
animation: fenzhen 3600s linear infinite;
z-index: 2;
}
#shizhen {
width: 8px;
height: 90px;
position: absolute;
left: 50%;
bottom: 50%;
background-color: #fff;
transform: rotate(0deg) translate(-50%);
transform-origin: 50% 100%;
animation: fenzhen 216000s linear infinite;
z-index: 3;
}
#circle {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 20px;
height: 20px;
border: none;
border-radius: 50%;
background-color: #fff;
z-index: 4;
}
</style>
</head>
<body>
<div id="biaopan">
<div id="miaozhen"></div>
<div id="fenzhen"></div>
<div id="shizhen"></div>
<div id="circle"></div>
</div>
<script>
function showTime() {
var d = new Date();
var s = d.getSeconds();
var m = d.getMinutes() + s/60;
var h = d.getHours() + m/60;
var miaozhen = document.getElementById('miaozhen');
var fenzhen = document.getElementById('fenzhen');
var shizhen = document.getElementById('shizhen');
miaozhen.style.transform = "rotate("+s*6+"deg)";
fenzhen.style.transform = "rotate("+m*6+"deg)";
shizhen.style.transform = "rotate("+h*30+"deg)";
}
setInterval("showTime()","10");
</script>
</body>
</html>