利用css3 transform属性刻画钟表的的刻度以及指针的角度,代码如下:

<head>
<meta charset="UTF-8">
<title>Title</title>
<style id="style">
html{height:100%;}
body{width:100%;height:100%;margin:0;display:-moz-box;display:-webkit-box; display:box; -webkit-box-align: center; -moz-box-align: center; box-align:center; -webkit-box-pack:center;-moz-box-pack:center; box-pack:center; }
.clock{ width:200px;height:200px;border:4px solid black;border-radius:50%; position:relative; }
.clock ul{ width:100%; height:100%;position:relative;margin:0;padding:0; }
.clock ul li{list-style: none; position:absolute;top:0;left:99px;width:2px; height:5px; background:gray; transform-origin: center 100px; }
.clock ul li:nth-of-type(5n+1){ left:98px;width:4px;height:10px;background:black;}
.hour{ width:8px; height:60px; border-radius:4px; position:absolute;left:96px;top:40px; background-color:black;transform-origin: center 60px;box-shadow:0 0 10px rgba(0,0,0,0.8);}          .min{width:6px;height:70px;border-radius:3px;position:absolute;left:97px;top:30px;background-color:#2b2b2b;transform-origin: center 70px;box-shadow:0 0 10px rgba(0,0,0,0.6);}           .sec{width:4px;height:80px;border-radius:2px; position:absolute;left:98px;top:20px;background-color:red;transform-origin: center 80px;box-shadow:0 0 10px rgba(255,0,0,0.5);}
     .center{width:16px;height:16px;box-shadow:0 2px 5px rgba(0,0,0,0.5); border-radius:50%;position:absolute;left:92px;top:92px;background-image: radial-gradient(white,gray);}
   </style>
</head>
<body>
  <div class="clock">
    <ul id="tickBox">
    </ul>
    <div class="hour" id="hour"></div>
    <div class="min" id="min"></div>
    <div class="sec" id="sec"></div>
    <div class="center"></div>
  </div>
  <script>
    window.onload = function(){
      var oUl = document.getElementById("tickBox");
      var oStyle = document.getElementById("style");
      var liStr = "";
      var styleStr = "";
      for(var i=0;i<60;i++){
        styleStr += '.clock ul li:nth-of-type('+(i+1)+'){transform: rotate('+i*6+'deg);}';
        liStr += '<li></li>';
      }
       oStyle.innerHTML += styleStr;
      oUl.innerHTML = liStr;
      var oHour = document.getElementById("hour");
      var oMin = document.getElementById("min");
      var oSec = document.getElementById("sec");
      function getTime(){
        var timer = new Date();
        var sec = timer.getSeconds();
        var min = timer.getMinutes();
        var hour = timer.getHours();
        var tranS = sec*360/60;
        var tranM = (min+sec/60)*360/60;
        var tranH = (hour + min/60)*360/12;
        oSec.style.transform = 'rotate('+tranS+'deg) translateZ(-1px)';
        oMin.style.transform = 'rotate('+tranM+'deg) translateZ(-1px)';
        oHour.style.transform = 'rotate('+tranH+'deg) translateZ(-1px)';
       }
      setInterval(getTime,1000);
       getTime();
    }
  </script>
</body>

最新文章

  1. Mapcontrol 遍历所有图层方法
  2. 玩转Java对象和XML相互转换
  3. ruby md5加签验签方法
  4. js中Math.random()生成指定范围数值的随机数
  5. 通过 Mesos、Docker 和 Go,使用 300 行代码创建一个分布式系统
  6. css改变谷歌浏览器的滚动条样式
  7. 14.Apache配置
  8. C++ 编程第二章小结
  9. 超轻量级spring模板方案
  10. python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域
  11. 为什么VS提示SurfFeatureDetector不是cv的成员函数
  12. java方法笔记
  13. 2.solr学习速成之安装
  14. AngularJs 第三节随笔
  15. 【以2-SAT为主题的婚礼UVA11294】
  16. [LaTex]插图
  17. Core在类中注入
  18. Java知多少(32)instanceof
  19. Ubuntu图形界面和字符界面转换、指定默认启动界面
  20. hdu 6395 Sequence (简单矩乘)

热门文章

  1. hdu3501Calculation 2——欧拉函数模板
  2. 为BindingList添加Sort
  3. Scala学习——集合的使用和“_”的一些使用(中)
  4. Python 查看本机WiFi密码
  5. 【opencv学习笔记六】图像的ROI区域选择与复制
  6. chromium浏览器开发系列第四篇:如何调试最新chromium
  7. 在VMWare上安装ubuntu及VMWare&amp;amp;nbs…
  8. Spring入门第八课
  9. HDU - 6415 多校9 Rikka with Nash Equilibrium(纳什均衡+记忆化搜索/dp)
  10. 通用后台管理系统UI模板-AdminLTE简介及构造动态菜单栏