JS+CSS3实现的简易钟表效果示例

前端之家收集整理的这篇文章主要介绍了JS+CSS3实现的简易钟表效果示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

主要介绍了JS+CSS3实现的简易钟表效果,涉及JavaScript结合定时器的页面元素动态设置与数值计算相关操作技巧,需要的朋友可以参考下

本文实例讲述了JS+CSS3实现的简易钟表效果分享给大家供大家参考,具体如下:

  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <Meta charset="UTF-8">
  5.     <title>js+css3简易钟表 编程之家 www.jb51.cc</title>
  6.     <style type="text/css">
  7.       *{
  8.         margin: 0;
  9.         padding: 0;
  10.       }
  11.       #wrap{
  12.         width: 300px;
  13.         height: 300px;
  14.         background-color: aliceblue;
  15.         margin: 200px auto;
  16.         position: relative;
  17.         Box-sizing: border-Box;
  18.       }
  19.       #wrap > div{
  20.         position: absolute;
  21.         top: 50%;
  22.         left: 50%;
  23.       }
  24.       #hour{
  25.         width: 6px;
  26.         height: 60px;
  27.         background-color: #000000;
  28.         margin: -60px -3px;
  29.         transform-origin: 3px 60px;
  30.       }
  31.       #min{
  32.         width: 4px;
  33.         height: 80px;
  34.         background-color: #000000;
  35.         margin: -80px -2px;
  36.         transform-origin: 2px 80px;
  37.       }
  38.       #sec{
  39.         width: 2px;
  40.         height: 100px;
  41.         background-color: red;
  42.         margin: -100px -1px;
  43.         transform-origin: 1px 100px;
  44.       }
  45.       #point{
  46.         width: 20px;
  47.         height: 20px;
  48.         background-color: burlywood;
  49.         margin: -10px -10px;
  50.         border-radius: 50%;
  51.       }
  52.       #circle{
  53.         width: 300px;
  54.         height: 300px;
  55.         position: relative;
  56.       }
  57.       #circle li{
  58.         list-style: none;
  59.         width: 2px;
  60.         height: 6px;
  61.         background-color: #000000;
  62.         position: absolute;
  63.         transform-origin: 1px 150px;
  64.         left: 149px;
  65.         top: 0px;
  66.       }
  67.     </style>
  68.   </head>
  69.   <body>
  70.     <div id="wrap">
  71.       <div id="hour"></div>
  72.       <div id="min"></div>
  73.       <div id="sec"></div>
  74.       <div id="point"></div>
  75.       <ul id="circle"></ul>
  76.     </div>
  77.   </body>
  78.   <script type="text/javascript">
  79.     var hourDom=document.getElementById('hour');
  80.     var minDom=document.getElementById('min');
  81.     var secDom=document.getElementById('sec');
  82.     var cricle=document.getElementById('circle');
  83.     //创建表盘,ul宽高为wrap宽高,以wrap中心点为变换基点,动态分配6°的li
  84.     for (var i=0;i<60;i++) {
  85.       var li=document.createElement('li');
  86.       cricle.appendChild(li);
  87.       li.style.transform='rotate('+i*6+'deg)';
  88.     }
  89.     //延时函数,确保每一秒更新一次最新时间。并且计算时间准确值。
  90.     setInterval(function(){
  91.     var date=new Date();
  92.     var hour=date.getHours();
  93.     var min=date.getMinutes();
  94.     var sec=date.getSeconds();
  95.     min+=sec/60;
  96.     hour+=min/60;
  97.     //当前时间*每个单位时间走的角度=指针指向
  98.     hourDom.style.transform='rotate('+hour*30+'deg)';
  99.     minDom.style.transform='rotate('+min*6+'deg)';
  100.     secDom.style.transform='rotate('+sec*6+'deg)';
  101.     },1000)
  102.   </script>
  103. </html>


猜你在找的JavaScript相关文章