React 实现一个时钟 最终效果

其实主要难点在于最左边的小时钟 指针的实现方式很简单,就是通过绝对定位将指针移到中间,然后以下边中间的位置为圆心旋转即可。代码如下: 复制代码
复制代码 效果 秒针转起来的效果也很简单,通过定时器setInterval每隔一秒更新秒针的角度。 复制代码 setInterval(() => { let secAngle = new Date().getSeconds() * 6 let pointer = document.getElementsByClassName('pointer')[0] pointer.style.transform = `rotateZ(${secAngle}deg)` }, 1000) 复制代码 现在就可以看到指针一跳一跳的了。但是呢,我希望指针平缓的走,那么可以设置CSS的 transition 属性 transition: all linear 1s; 安静的等待1s 会发现,当秒针从59到60的时候,会反向旋转。因为此时角度是变小的,360->0,所以考虑当指针刚好走一圈的那一秒,去除 transition 属性。 这样虽然不会倒转了,但是那一秒还是会蹦一下。 于是又想到每100ms更新一次,这样到360度时蹦的那一下就不明显了。感觉没有直接解决问题,是绕开了。。 这样一个会围绕圆心转的指针就做完了。代码如下: 复制代码
复制代码 现在的问题是 表盘的刻度。实现12个小竖线,然后分别旋转。虽然我没有less不可以使用for循环,但是react可以循环啊……定位还是绝对定位,和指针一样。 复制代码 Hello World
复制代码 效果: 这样完全没有难点了(本来就没有好吧…… 完整代码如下: 复制代码 Hello World
https://www.cnblogs.com/wenruo/p/9561815.html
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信