zoukankan      html  css  js  c++  java
  • css3实现钟表特效

    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <title>钟表</title>
    <style type="text/css" id="css">
        #clock{200px;height:200px;border:2px solid #333333;margin:100px auto;border-radius:50%;position: relative;
                box-shadow: 0 0 10px #FCE300; background:url(1.jpg) no-repeat;background-size: 200px 200px;}
        #clock ul{margin: 0;padding: 0;list-style: none;height:200px;position: relative;}
        #clock ul li{background: #010101; 2px;height: 6px;position: absolute;left:99px;top:0;
                    -webkit-transform-origin:center 100px;-moz-transform-origin:center 100px;
                    -ms-transform-origin:center 100px;-o-transform-origin:center 100px;
                    transform-origin:center 100px;}
        #clock ul li:nth-of-type(5n+1){height:10px;}    
        #hour{ 6px;height: 35px;background: #f00;position: absolute;left: 97px;top:65px;
                    -webkit-transform-origin:bottom;-moz-transform-origin:bottom;
                    -ms-transform-origin:bottom;-o-transform-origin:bottom;
                    transform-origin:bottom;}    
        #min{ 4px;height: 55px;background: blue;position: absolute;left: 98px;top:45px;
                    -webkit-transform-origin:bottom;-moz-transform-origin:bottom;
                    -ms-transform-origin:bottom;-o-transform-origin:bottom;
                    transform-origin:bottom;}
        #sec{ 2px;height: 80px;background: orange;position: absolute;left: 99px;top:20px;
                    -webkit-transform-origin:bottom;-moz-transform-origin:bottom;
                    -ms-transform-origin:bottom;-o-transform-origin:bottom;
                    transform-origin:bottom;}    
        .Icon{position: absolute;left: 95px;top:95px; 10px;height: 10px;background:#242424;border-radius: 50%;}

    </style>
    <script type="text/javascript">
        window.onload=function(){
            var oCss = document.getElementById("css");
            var oClock = document.getElementById("clock");
            var oHour = document.getElementById("hour");
            var oMin = document.getElementById("min");
            var oSec = document.getElementById("sec");
            var oUl = oClock.getElementsByTagName('ul')[0];
            var aLi = oUl.getElementsByTagName('li');
            var str = "";
            var sCss = "";
            for(var i=0;i<60;i++){
                //var oLi = document.createElement('li');
                //oUl.appendChild(oLi);
                str+="<li></li>";
                sCss+="#clock ul li:nth-of-type("+(i+1)+"){-webkit-transform:rotate("+6*i+"deg);-moz-transform:rotate("+6*i+"deg);-ms-transform:rotate("+6*i+"deg);-o-transform:rotate("+6*i+"deg);transform:rotate("+6*i+"deg);}";
            }
            oUl.innerHTML = str;
            oCss.innerHTML += sCss;
            setInterval(time,1000);
            time();
            function time(){
                var oDate = new Date();    
                var aSec = oDate.getSeconds();
                var aMin = oDate.getMinutes()+aSec/60;
                var aHour = oDate.getHours()+aMin/60;    
                
                oHour.style.WebkitTransform = "rotate("+aHour*30+"deg)";
                oMin.style.WebkitTransform = "rotate("+aMin*6+"deg)";
                oSec.style.WebkitTransform = "rotate("+aSec*6+"deg)";
                oHour.style.MozTransform = "rotate("+aHour*30+"deg)";
                oMin.style.MozTransform = "rotate("+aMin*6+"deg)";
                oSec.style.MozTransform = "rotate("+aSec*6+"deg)";
                oHour.style.MsTransform = "rotate("+aHour*30+"deg)";
                oMin.style.MsTransform = "rotate("+aMin*6+"deg)";
                oSec.style.MsTransform = "rotate("+aSec*6+"deg)";
                oHour.style.OTransform = "rotate("+aHour*30+"deg)";
                oMin.style.OTransform = "rotate("+aMin*6+"deg)";
                oSec.style.OTransform = "rotate("+aSec*6+"deg)";
                oHour.style.transform = "rotate("+aHour*30+"deg)";
                oMin.style.transform = "rotate("+aMin*6+"deg)";
                oSec.style.transform = "rotate("+aSec*6+"deg)";
            }
            
        }
    </script>
    </head>
    <body>
        <div id="clock">
            <ul>
                
            </ul>

            <div id="hour"></div>
            <div id="min"></div>
            <div id="sec"></div>

            <div class="Icon"></div>

        </div>
    </body>
    </html>

    效果:

  • 相关阅读:
    笔记 : windows系统下 命令行 php --version 的版本与phpinfo()版本不一致问题
    笔记 : WampServe加装PHP版本(7.2.3)为例
    Browsersync结合gulp和nodemon实现express全栈自动刷新
    PHP与JSP简单比较
    BDD 与DSL 入门
    1.display:flex布局笔记
    Css预处理器---Less(三)
    python_30期_第2讲【字符串&运算符】
    python_30期_第5讲【while循环+for循环】
    class_05py作业
  • 原文地址:https://www.cnblogs.com/jiechen/p/4976286.html
Copyright © 2011-2022 走看看