国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript實現仿Clock ISO時鐘

來源:懂視網 責編:小采 時間:2020-11-27 22:12:15
文檔

JavaScript實現仿Clock ISO時鐘

JavaScript實現仿Clock ISO時鐘:來模仿一個 ISO 上的時鐘:ISO Clock 實現效果: ISO Clock 項目分析 1、首先時鐘嘛,肯定要獲取本地客戶端的時間; 2、時鐘有 3 個指針,我們可以通過添加動畫的方式讓它們圍繞中心點轉動; 3、通過獲取到的 hour、minute 和 second 值分別
推薦度:
導讀JavaScript實現仿Clock ISO時鐘:來模仿一個 ISO 上的時鐘:ISO Clock 實現效果: ISO Clock 項目分析 1、首先時鐘嘛,肯定要獲取本地客戶端的時間; 2、時鐘有 3 個指針,我們可以通過添加動畫的方式讓它們圍繞中心點轉動; 3、通過獲取到的 hour、minute 和 second 值分別

更像真實的 Clock

現實中的 Clock 大部分是秒針和分針都是會跳動的,并且伴隨著滴答聲,我們來嘗試一下。

.hours-container {  animation: rotate 60s infinite linear;
}.minutes-container {  animation: rotate 3600s infinite steps(60);
}.seconds-container {  animation: rotate 60s infinite steps(60);
}

1、只需要將 分針 和 秒針的旋轉方式調整為 steps() 即可。

但是這樣的 Clock 每次刷新都是從 0 開始的,并不是我們需要的,怎么做一個顯示真實時間的呢??

正確的時間

我們首先要獲取到當前的時間,然后計算每個指針應該旋轉的角度即可。

獲取每個指針

const hourHand = document.querySelector('.hours-container');const minuteHand = document.querySelector('.minutes-container');const secondHand = document.querySelector('.seconds-container');

獲取當前時間

const now = new Date();const hour = now.getHours();const minute = now.getMinutes();const second = now.getSeconds();
`

計算每個指針應旋轉的角度

在 CSS3 中角度單位一共有四種:

  • deg (度,一個圓 360 度)、
  • grad(梯度,一個圓共400梯度)、
  • turn (轉、圈,一個圓共1圈)、
  • rad (弧度,一個圓共2π弧度)
  • 它們的對應關系為:
  • 90deg = 100grad = 0.25turn ≈ 1.570796326794897rad

    很顯然,我們這里要用到的單位是 deg 。

    const secondDegree = second * 6 + 90;
    const minuteDegree = minute * 6 + (second / 10) + 90;
    const hourDegree = (hour * 30) + (minute / 2) + 90;
    

    1、+90 是因為角度的起始位置為水平的 X 軸,為了和 Clock 指針起始位置(Y 軸)做統一;

    2、秒針的計算最簡單,(second / 60) * 360 + 90;

    3、 分針要考慮秒針的影響,如過了30秒,相當于半分鐘。公式為: 當前分鐘數 + 秒數在分鐘的映射;即:(( minutes/ 60) * 360) + ((seconds / 60) * 6) + 90;

    4、 時針稍微復雜一點,因為要考慮分鐘的影響,如過了30分鐘,相當于半小時。公式為: 當前時數 + 分鐘在小時的映射 。即:(( hours/ 12) * 360) + ((minutes / 60) * 30) + 90;

    應用角度值

    hourHand.style.transform = `rotateZ(${hourDegree}deg)`;
    minuteHand.style.transform = `rotateZ(${minuteDegree}deg)`;
    secondHand.style.transform = `rotateZ(${secondDegree}deg)`;
    

    為了使頁面能實時的更新,我們要把上面的這些東西封裝為一個函數,然后用定時器每秒執行一次。

    整個時鐘的功能都完成了!

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    JavaScript實現仿Clock ISO時鐘

    JavaScript實現仿Clock ISO時鐘:來模仿一個 ISO 上的時鐘:ISO Clock 實現效果: ISO Clock 項目分析 1、首先時鐘嘛,肯定要獲取本地客戶端的時間; 2、時鐘有 3 個指針,我們可以通過添加動畫的方式讓它們圍繞中心點轉動; 3、通過獲取到的 hour、minute 和 second 值分別
    推薦度:
    標簽: 實現 ISO 時鐘
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲一区二区三区免费 | 日产精品一区二区三区免费 | 黄色毛片在线观看 | 国产高清在线播放免费观看 | 欧美激情在线精品三区 | 国产精品日本一区二区不卡视频 | 韩国精品一区 | 国产 日韩 欧美视频二区 | 国产一区二区三区高清 | 欧美第二区 | 热re91久久精品国产91热 | 伊人精品久久久大香线蕉99 | 国产一区亚洲二区三区毛片 | 亚洲 欧美 自拍 另类 | 国产91精品久久久久999 | 麻豆91精品91久久久 | 欧美日韩国产专区 | 精品成人一区二区三区免费视频 | 91在线精品亚洲一区二区 | wwwxxx欧美| 欧美 日韩 中文 | 午夜精品一区二区三区在线观看 | 午夜看一级特黄a大片黑 | 中文字幕一区二区三区久久网站 | 久久国产夜色精品噜噜亚洲a | 国产精品天天看大片特色视频 | 国产欧美久久久精品影院 | 天天爽夜夜爽一区二区三区 | 中文日韩欧美 | 久久国产成人精品 | 国产一区二区三区免费 | 国产a视频精品免费观看 | 久久久久久亚洲精品影院 | 国产午夜免费视频 | 素人面接 | 999久久久免费精品国产牛牛 | 欧美第一页在线 | 国产成人精品999在线观看 | 特黄一级毛片 | 久久经典视频 | 国产日韩欧美中文 |