JavaScript 实现简易钟表动画效果
作者:白露时间:2026-10-23 21:50:09浏览:490
本文提供了一段使用 JavaScript 和 CSS3 实现的简易钟表特效代码。通过 DOM 操作动态生成表盘数字,并利用 CSS 关键帧动画驱动指针旋转,展示了前端基础交互效果的实现方法。
JavaScript 实现简易钟表动画效果
本文分享了一段使用 JavaScript 实现钟表视觉效果的具体代码,供读者参考学习。

<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>
* {
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 21600s 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 3600s 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 60s 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(360deg)
}
}
<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>
如需了解更多 JavaScript 时钟特效,可查阅相关专题内容。
以上为本文全部内容,希望能为读者的学习带来帮助,欢迎继续支持本站。
作者最新文章
AOS.js 动画不触发怎么办?排查 DOM 加载与移动端兼容问题
2026-11-05 17:02:26
sigma.js 怎么实现节点点击、拖拽与悬停提示交互
2026-11-05 15:03:27
Matter.js 与 PixiJS/Three.js 集成:分离物理计算与渲染
2026-11-05 13:43:48
主流JS弹幕库选型指南:Danmaku.js等库的功能与体积对比
2026-11-05 09:28:19
JavaScript点击事件监听与交互效果实例
2026-11-05 09:10:19
