css3时钟简单实现
2020-06-24 20:52
246 查看
目前未能实现59刻度到0刻度的过渡,望大神指点
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> *{ margin: 0; padding: 0; list-style: none; } .clock{ position: relative; margin: 100px auto; width: 400px; height: 400px; border: 2px solid blue; border-radius: 50%; } .clock>.hour{ position: absolute; right: 195px; top: 100px; width: 10px; height: 100px; background-color: hotpink; transform-origin: center bottom; /*transition: .5s;*/ } .clock>.minute{ position: absolute; right: 197px; top: 60px; width: 6px; height: 140px; background-color: mediumspringgreen; transform-origin: center bottom; /*transition: .5s;*/ } .clock>.second{ position: absolute; right: 199px; top: 20px; width: 4px; height: 180px; background-color: red; transform-origin: center bottom; /*transition: .5s;*/ } .clock>.icon{ position: absolute; right: 175px; top:175px; width: 50px; height: 50px; border-radius: 50%; background-color: darkkhaki; } .clock>.scale>li{ position: absolute; right: 198px; width: 4px; height: 12px; background-color: purple; transform-origin: center 200px; } </style> </head> <body> <section class="clock"> <div class="hour"></div> <div class="minute"></div> <div class="second"></div> <div class="icon"></div> <ul class="scale"></ul> </section> <script> window.onload=function () { let scale = document.querySelector('.scale'); let hour = document.querySelector('.hour'); let minute = document.querySelector('.minute'); let second = document.querySelector('.second'); let lis = ''; let sumMinutes = 0; //开始刻画刻度 for (let i = 0 ; i < 60 ; i++ ){ if (i%5==0){ lis += `<li style="transform: rotate(${6*i}deg); height:20px"></li>` }else { lis += `<li style="transform: rotate(${6*i}deg)"></li>` } } scale.innerHTML=lis; //刻度刻画结束 move(); setInterval(function () { move(); },1000); // 时钟移动函数 function move() { let date = new Date(); let s = date.getSeconds(); let m = date.getMinutes()+s/60; let h = date.getHours()+m/60; if (s===59){ second.style.transition = '0s'; }else { second.style.transition = '.5s'; second.style.transform = `rotate(${6*s}deg)`; } second.style.transform = `rotate(${6*s}deg)`; minute.style.transform = `rotate(${6*m}deg)`; hour.style.transform = `rotate(${30*h}deg)`; } } </script> </body> </html>
相关文章推荐
- 运用CSS3实现简单的时钟效果
- css3clock.js - 一个用CSS3与纯js实现的简单时钟
- css3clock.js - 一个用CSS3与纯js实现的简单时钟
- js实现一个简单的数字时钟效果
- CSS+JS实现简单的时钟
- JavaScript实现简单的时钟
- Android实现简单时钟View的方法
- H5+CSS3实现简单菜单下划线动画
- Html5+Css3实现简单表格排版
- JavaScript实现简单的时钟实例代码
- Android实现模拟时钟(简单+漂亮)--时针、分针、秒针
- 如何用css3实现简单旋转的风车
- CSS3实现简单下拉菜单
- jQuery CSS3相结合实现时钟插件
- J2ME游戏开发中时钟的简单实现
- js实现简单的秒表走动的时钟特效
- Qt使用之简单动态时钟实现
- Android实现模拟时钟(简单+漂亮)--时针、分针、秒针
- js实现简单的时钟
- ASP.NET 简单实现数字时钟