WEB前端初学者笔记(12)--时钟的制作
1.setInterval定时器
var aaa=function (){
console.log(new Date())
}
setInterval(aaa,1000)括号内第一个表示函数,第二个以毫秒为单位响应,代表多少毫秒之后执行一次此函数。
2.Date()函数
调取时间的函数
console.log(new Date().getFullYear)----四位数年份
console.log(new Date().getMonth)---- 月份,从0计数所以少1
console.log(new Date().getDate)----几日
console.log(new Date().getDay)----星期几
console.log(new Date().getHours)----小时
console.log(new Date().getMinutes)----分钟
console.log(new Date().getSeconds)-----秒钟
3.代码示例
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <title>Document</title> 9 <style> 10 #clock { 11 position: relative; 12 width: 260px; 13 height: 260px; 14 margin: 0 auto; 15 background: url("img/时钟.jpg"); 16 } 17 18 #mind { 19 position: absolute; 20 width: 10px; 21 height: 10px; 22 margin: 0 auto; 23 background-color: black; 24 border-radius: 50%; 25 left: 54%; 26 top: 43%; 27 z-index: 5; 28 } 29 30 #s { 31 position: absolute; 32 width: 3px; 33 height: 100px; 34 background-color: red; 35 transform-origin: 50% 70%; 36 left: 55%; 37 top: 45px; 38 } 39 40 #m { 41 position: absolute; 42 width: 3px; 43 height: 70px; 44 background-color: blue; 45 transform-origin: 50% 70%; 46 left: 55%; 47 top: 70px; 48 } 49 50 #h { 51 position: absolute; 52 width: 5px; 53 height: 60px; 54 background-color: yellow; 55 transform-origin: 50% 70%; 56 left: 55%; 57 top: 80px; 58 59 } 60 </style> 61 </head> 62 63 <body> 64 <div class="clock" id="clock"> 65 <div class="mind" id="mind"></div> 66 <div class="h" id="h"></div> 67 <div class="m" id="m"></div> 68 <div class="s" id="s"></div> 69 70 </div> 71 </body> 72 73 </html> 74 <script> 75 var s = document.getElementById("s") 76 var m = document.getElementById("m") 77 var h = document.getElementById("h") 78 function clock() { 79 var time=new Date(), 80 S=time.getSeconds(), 81 M=time.getMinutes(), 82 H=time.getHours() 83 s.style.transform='rotate('+S*6+'deg)' 84 m.style.transform='rotate('+(M+S/60)*6+'deg)' 85 h.style.transform='rotate('+(H+M/60+S/3600)*30+'deg)' 86 // 制作秒针要把每秒转换为度数 87 // 制作分针要把秒转换为分再去转换度数 88 // 制作时针就要转化分和秒为时再去转换度数 89 } 90 clock() 91 setInterval(clock,1000) 92 93 </script>
注意:
1.钟表指针样式是由自己在CSS里定义的,所以需要自己设transform-origin函数来置指针旋转点
2.在设置JS时候,在setlnterval定时器前执行一次函数,这样就可以在打开网页时消除一秒的停顿
3.制作秒针的原理是,秒针一分钟会转一圈,也就是360度,一分钟有60秒,所以每一秒就要转6度,所以时间函数获取秒进行(秒)*6计算也就是当前秒针应该指的方向
4.制作分针的原理是,分针一小时会转一圈,也就是360度,一小时有60分钟,所以每一分钟就要转6度,在通过获取秒的时间,将秒转换为分,得到每秒都会转动的分针,所以时间函数获取分后进行(分+秒/60)*6计算也就是当前分针应该指的方向
5.制作时针的原理是,时针一天会转两圈,也就是720度,一圈有12小时,所以每小时就要转30度,在通过时间函数获得分和秒后,将其转化为时,得到每秒都会转动的时针,所以时间函数获取秒和分后进行(时+分/60+秒/3600)*30也就是当前时针应该指的方向
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人