本文实例为大家分享了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