国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實現(xiàn)簡易刻度時鐘示例代碼

2019-11-19 17:11:19
字體:
供稿:網(wǎng)友

如圖所示,利用JS實現(xiàn)簡易的刻度時鐘;

原理如下:利用60等份的li進(jìn)行布局,li兩兩之間的間隔為6deg,把基點定在圓心上,使得li圓形分布。然后另外設(shè)置三條針線的樣式的位置,基點同樣定在圓心上,然后秒針每秒動6deg,分針每秒動1/60deg,時針每秒動1/3600deg。

布局代碼如下:

<!DOCTYPE html><html>  <head>    <meta charset="UTF-8">    <title></title>    <style type="text/css" id="sty">      *{        margin: 0;        padding: 0;        list-style: none;      }      #wrap{        width: 200px;        height: 200px;        border: 1px solid #000;        border-radius: 50%;        margin: 20px auto;        position: relative;      }      #wrap ul{        position: relative;      }      #wrap ul li{        width: 2px;        height: 6px;        background: #000;        position: absolute;        left: 99px;        top: 0;        -moz-transform-origin: center 100px;      }      #wrap ul li:nth-child(5n){        height: 10px;      }      #con{        width: 10px;        height: 10px;        background: #000;        border-radius: 50%;        position: absolute;        left: 95px;        top: 95px;      }      #hour{        width: 5px;        height: 70px;        background: red;        border-radius: 50%;        position: absolute;        left: 98px;        top: 35px;        -moz-transform-origin: center 65px;      }      #min{        width: 3px;        height: 85px;        background: #000;        border-radius: 50%;        position: absolute;        left: 98.5px;        top: 20px;        -moz-transform-origin: center 80px;      }      #sec{        width: 2px;        height: 100px;        background: gray;        border-radius: 50%;        position: absolute;        left: 98.5px;        top: 20px;        -moz-transform-origin: center 80px;      }    </style>  </head>  <body>    <div id="wrap">      <ul id="list">      </ul>      <div id="hour"></div>      <div id="min"></div>      <div id="sec"></div>      <div id="con"></div>    </div>  </body></html>

布局代碼里需要注意的是:每隔四個刻度就有一個刻度比較長,所以我們在設(shè)置樣式的時候要特別注意加上:#wrap ul li:nth-child(5n){height: 10px;}。第5n個的長度變長。

JS代碼中主要搞清楚三針之間的度數(shù)關(guān)系就好做了,代碼如下:

<script type="text/javascript">  window.onload=function(){    var oWrap=document.getElementById('wrap');    var oList=document.getElementById('list');    var oSty=document.getElementById('sty');    var tump='';    for(var i=0;i<60;i++){      var aLi=document.createElement('li');      oList.appendChild(aLi);      tump+='#wrap ul li:nth-child('+(i+1)+'){transform: rotate('+(i+1)*6+'deg);}';      oSty.innerHTML+=tump;    }    var oSec=document.getElementById('sec');    var oMin=document.getElementById('min');    var oHour=document.getElementById('hour');    function time(){      var date=new Date();      var s=date.getSeconds();      var m=date.getMinutes()+(s/60);      var h=date.getHours()+(m/60);      oSec.style.transform='rotate('+s*6+'deg)';      oMin.style.transform='rotate('+m*6+'deg)';      oHour.style.transform='rotate('+h*30+'deg)';    }    time();    setInterval(time,1000);  }</script>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 密山市| 顺义区| 桑植县| 积石山| 阿克陶县| 右玉县| 柯坪县| 新郑市| 岳普湖县| 唐河县| 临沧市| 平陆县| 汝州市| 土默特右旗| 和平区| 额敏县| 谷城县| 临朐县| 鄂托克前旗| 濮阳市| 平和县| 乌拉特前旗| 乌兰察布市| 南安市| 喀喇| 长沙市| 平山县| 普安县| 漳平市| 金沙县| 安乡县| 泰安市| 西林县| 宝清县| 常德市| 漾濞| 罗田县| 齐齐哈尔市| 外汇| 连州市| 渑池县|