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

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript實現(xiàn)仿Clock ISO時鐘

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:12:15
文檔

JavaScript實現(xiàn)仿Clock ISO時鐘

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

更像真實的 Clock

現(xiàn)實中的 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、只需要將 分針 和 秒針的旋轉(zhuǎn)方式調(diào)整為 steps() 即可。

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

正確的時間

我們首先要獲取到當(dāng)前的時間,然后計算每個指針應(yīng)該旋轉(zhuǎn)的角度即可。

獲取每個指針

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

獲取當(dāng)前時間

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

計算每個指針應(yīng)旋轉(zhuǎn)的角度

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

  • deg (度,一個圓 360 度)、
  • grad(梯度,一個圓共400梯度)、
  • turn (轉(zhuǎn)、圈,一個圓共1圈)、
  • rad (弧度,一個圓共2π弧度)
  • 它們的對應(yīng)關(guān)系為:
  • 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 軸)做統(tǒng)一;

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

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

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

    應(yīng)用角度值

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

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

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

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

    文檔

    JavaScript實現(xiàn)仿Clock ISO時鐘

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

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 日韩欧美在线看 | 国产在线日韩 | 日韩欧美高清 | 欧美第1页| 国产高清精品一区 | 夜夜操综合 | 日韩一区二区三区四区不卡 | 久久这里只有精品国产 | 黄色毛片免费在线观看 | 久久精品国产一区二区三区不卡 | 2020精品极品国产色在线观看 | 欧美另类精品一区二区三区 | 国产成人综合欧美精品久久 | 欧美高清在线精品一区二区不卡 | 在线观看日韩精品 | 国产精品三级在线观看 | 国产在线高清不卡免费播放 | 免费观看成人www精品视频在线 | 精品国产91 | 亚洲色图欧美色 | 美国一级大黄大色毛片 | 国产香蕉视频在线观看 | 国产欧美另类第一页 | 国产综合精品一区二区 | 亚洲精品国产综合一线久久 | 久久久久女人精品毛片九一 | 欧美成人一区二区三区 | 一级毛片视频免费 | 国产精品亚洲片在线观看不卡 | 欧美影院在线 | 亚洲色图另类 | 久久一次| 国产亚洲美女精品久久久2020 | 五月天婷婷视频在线观看 | 性殴美 | 伊人网伊人影院 | 国产精品视频第一区二区三区 | 午夜精品一区二区三区在线观看 | 国产观看 | 中文字幕免费 | 国产毛片一区二区三区 |