本文实例为大家分享了js实现钟表效果的具体代码,供大家参考,具体内容如下
1
2
3
4
5
6
7
8
9
10
11
|
< div class = "clock" >
< div class = "circle" ></ div >
< div class = "hour" ></ div >
< div class = "minutes" ></ div >
< div class = "seconds" ></ div >
<!-- 添加数字1-12 -->
< div class = "nums" > </ div >
</ div >
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
* {
margin : 0 ;
padding : 0 ;
}
.clock {
position : relative ;
width : 200px ;
height : 200px ;
border : solid 14px rgb ( 247 , 129 , 149 );
border-radius: 50% ;
margin : 100px auto ;
background : linear-gradient( rgb ( 190 , 155 , 223 ),pink);
}
. circle {
position : absolute ;
left : 50% ;
top : 50% ;
transform: translate( -50% , -50% );
width : 12px ;
height : 12px ;
background-color : black ;
border-radius: 50% ;
/* 优先显示它 */
z-index : 5 ;
}
.hour {
position : absolute ;
left : 49.5% ;
top : 48px ;
width : 4px ;
height : 50px ;
background-color : blue ;
/* steps(60)--分60步走*/
animation: run 21600 s steps( 60 ) infinite;
/* 绕着底部旋转 */
transform-origin: bottom ;
z-index : 3 ;
}
.minutes {
position : absolute ;
left : 49.5% ;
top : 28px ;
width : 3px ;
height : 70px ;
background-color : rgb ( 240 , 83 , 83 );
animation: run 3600 s steps( 60 ) infinite;
transform-origin: bottom ;
z-index : 2 ;
}
.seconds {
position : absolute ;
left : 50% ;
top : 2px ;
width : 2px ;
height : 96px ;
background-color : pink;
animation: run 60 s steps( 60 ) infinite;
transform-origin: bottom ;
}
.ps {
width : 100% ;
height : 100% ;
}
.number {
position : absolute ;
left : 50% ;
width : 10px ;
height : 98px ;
transform-origin: bottom ;
color : rgb ( 230 , 53 , 156 );
font-weight : bold ;
font-size : 20px ;
}
.number:last-child {
left : 47% ;
}
@keyframes run {
0% {
transform: rotate( 0 );
}
100% {
transform: rotate( 360 deg)
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<script>
var nums = document.querySelector( '.nums' )
var dd = 30;
for ( var i = 1; i < 13; i++) {
// 创建一个div保存数字
var number = document.createElement( 'div' );
number.className = 'number' ;
// 下标就是对应的数字1-12
number.innerText = i;
// 追加到页面中
nums.appendChild(number);
// 数字分别旋转对应的角度
number.style.transform = "rotate(" + dd + "deg)" ;
// 确定要旋转的度数----30deg/60deg/90deg.....
if (dd < 360) {
dd += 30;
}
}
</script>
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_45803990/article/details/107884909