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

首頁 > 開發 > JS > 正文

JS實現簡易刻度時鐘示例代碼

2024-05-06 16:35:45
字體:
來源:轉載
供稿:網友

如圖所示,利用JS實現簡易的刻度時鐘;

js簡易時鐘,js實現時鐘,js實現帶刻度的時間線

原理如下:利用60等份的li進行布局,li兩兩之間的間隔為6deg,把基點定在圓心上,使得li圓形分布。然后另外設置三條針線的樣式的位置,基點同樣定在圓心上,然后秒針每秒動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>

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

JS代碼中主要搞清楚三針之間的度數關系就好做了,代碼如下:

<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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岢岚县| 宝清县| 平定县| 金平| 会泽县| 永丰县| 台前县| 碌曲县| 蓬莱市| 卓尼县| 天津市| 盖州市| 兴隆县| 报价| 游戏| 洪雅县| 松潘县| 光山县| 文水县| 贡嘎县| 广汉市| 平度市| 大荔县| 阜平县| 龙海市| 内江市| 江永县| 名山县| 石泉县| 荔波县| 江川县| 新野县| 小金县| 鹿邑县| 苗栗市| 莒南县| 资中县| 东辽县| 鄱阳县| 福贡县| 邛崃市|