最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實(shí)現(xiàn)簡單鐘表時鐘

 更新時間:2021年10月29日 14:15:14   作者:坦淡  
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡單鐘表時鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)簡單鐘表時鐘的具體代碼,供大家參考,具體內(nèi)容如下

效果圖:

主要思想:

1.先畫一個圓表盤。

2.再用js循環(huán)畫刻度(每一個刻度都是li標(biāo)簽)。
3.再畫時分秒指針。

4.再用JS讓指針動起來。

代碼中有詳細(xì)的注釋可以直接看代碼。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <style id="style">
        ul{
            list-style: none;
        }
        #circle{
            width: 200px;
            height: 200px;
            border-radius: 100px;
            border: 1px solid black;
        }
        #kedu li{
            width: 1px;
            height: 6px;
            border-radius: 10px;
            background-color: black;
            transform-origin: center 101px;/*設(shè)置li標(biāo)簽的旋轉(zhuǎn)中心和旋轉(zhuǎn)半徑。*/
            position: absolute;
            left: 109px;
            top: 9px;
        }
        #kedu li:nth-of-type(5n+1){
            height: 12px;
            width: 2px;
        }

        /* 秒針的繪制,用transform把div繪制成線條,后面的指針都是在這樣。 */
        #second{
            width: 2px;
            height: 80px;
            background-color: red;
            transform: scaleY(1);
            position: absolute;
            left: 108px;
            top: 30px;
            transform-origin: bottom; /*設(shè)置它們的旋轉(zhuǎn)中心,transform-origin: bottom;意思是以它們的底部為中心旋轉(zhuǎn)。*/
        }
        #min{
            width: 2px;
            height: 65px;
            background-color: gray;
            transform: scaleY(1);
            position: absolute;
            left: 108px;
            top: 45px;
            transform-origin: bottom;
        }
        #hour{
            width: 2px;
            height: 50px;
            background-color: black;
            transform: scaleY(1);
            position: absolute;
            left: 108px;
            top: 60px;
            transform-origin: bottom;
        }
        #p12{
            position: absolute;
            left: 100px;
            top: 0px;
        }
        #p3{
            position: absolute;
            left: 190px;
            top: 84px;
        }
        #p6{
            position: absolute;
            left: 105px;
            top: 165px;
        }
        #p9{
            position: absolute;
            left: 20px;
            top: 82px;
        }
    </style>
    <div id="circle">
        <ul id="kedu"></ul>
    </div>
    <div id="second"></div><!--繪制秒針-->
    <div id="min"></div><!--繪制分針-->
    <div id="hour"></div><!--繪制時針-->
    <p id="p12">12</p>
    <p id="p3">3</p>
    <p id="p6">6</p>
    <p id="p9">9</p>
    <script>
        //繪制時鐘的刻度 動態(tài)創(chuàng)建60個li標(biāo)簽。
        function li(){
            let ul=document.getElementById("kedu");//先獲取到ul,因?yàn)橐趗l下創(chuàng)建li。
            let css;//用來存li的style樣式中的CSS設(shè)置。
            for(let i=0;i<60;i++){
                css+=`#kedu li:nth-of-type(${i+1}){transform:rotate(${i*6}deg)}`//循環(huán)設(shè)置ul下的第i+1個li的旋轉(zhuǎn)角度,要在css中設(shè)置了li的旋轉(zhuǎn)中心
                ul.innerHTML+=`<li></li>`;//這里要用+=,如果直接用=,只會創(chuàng)建一個li,因?yàn)闀采w前面的li,為了不出現(xiàn)覆蓋就用+=。
            }
            let sty=document.getElementById("style")//這里獲取到style標(biāo)簽。
            sty.innerHTML+=css //把ul下的li標(biāo)簽的css樣式寫入到style里。
        }
        li();//這里結(jié)束就把刻度畫好了。

        function time(){
            let s=document.getElementById("second");//獲取到時分秒的三個指針,后面用來動態(tài)讓它們旋轉(zhuǎn)起來。
            let m=document.getElementById("min");
            let h=document.getElementById("hour");

            //獲取時間。
            let date=new Date();
            let snum=date.getSeconds();//獲取現(xiàn)在是多少秒。
            let mnum=date.getMinutes()+snum/60;//獲取現(xiàn)在是多少分,不能忘記加上 秒數(shù)/60。
            let hnum=date.getHours()+mnum/60; //獲取現(xiàn)在是多少時,不能忘記加上 分鐘數(shù)/60。
            
            s.style.transform=`rotate(${snum*6}deg)`;//設(shè)置的trasnform就可以讓它們旋轉(zhuǎn)起來,秒針時一秒旋轉(zhuǎn)6度。
            m.style.transform=`rotate(${mnum*6}deg)`//分針也是一分鐘旋轉(zhuǎn)6度。
            h.style.transform=`rotate(${hnum*30}deg)`//這里時小時,一小時旋轉(zhuǎn)30度,所以*30.
        }
        setInterval(time,100)//用計時器每100ms運(yùn)行這個time函數(shù)。
    </script>
</body>
</html>

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

相關(guān)文章

  • JavaScript設(shè)計模式手寫示例講解

    JavaScript設(shè)計模式手寫示例講解

    這篇文章主要介紹了JavaScript設(shè)計模式手寫示例,設(shè)計模式(Design pattern) 是解決軟件開發(fā)某些特定問題而提出的一些解決方案也可以理解成解決問題的一些思路。通過設(shè)計模式可以幫助我們增強(qiáng)代碼的可重用性、可擴(kuò)充性、 可維護(hù)性、靈活性好
    2022-12-12
  • Javascript 判斷Flash是否加載完成的代碼

    Javascript 判斷Flash是否加載完成的代碼

    網(wǎng)站加入flash廣告代碼,利用DIV層來控制進(jìn)度的狀態(tài),如果加載swf文件到100%的時候就顯示出flash,把AD層隱藏掉,請看下面實(shí)現(xiàn)方法。
    2010-04-04
  • 瀏覽器緩存技術(shù)實(shí)現(xiàn)淺析

    瀏覽器緩存技術(shù)實(shí)現(xiàn)淺析

    這篇文章主要為大家介紹了瀏覽器緩存技術(shù)實(shí)現(xiàn)淺析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 詳解CocosCreator消息分發(fā)機(jī)制

    詳解CocosCreator消息分發(fā)機(jī)制

    這篇文章主要介紹了詳解CocosCreator消息分發(fā)機(jī)制,詳細(xì)介紹了各模塊的設(shè)計,同學(xué)們一定要自己看下
    2021-04-04
  • JavaScript實(shí)現(xiàn)下拉菜單的顯示隱藏

    JavaScript實(shí)現(xiàn)下拉菜單的顯示隱藏

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)下拉菜單的顯示隱藏,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • JavaScript 應(yīng)用類庫代碼

    JavaScript 應(yīng)用類庫代碼

    S.Sams Lifexperience CopyRight (C) 2003-2007 S.Sams Lifexperience ScriptClassLib MSNLive: S.Sams#msn.com Update by : 2007-01-19 轉(zhuǎn)載傳播請保留版權(quán)
    2008-06-06
  • layui異步加載table表中某一列數(shù)據(jù)的例子

    layui異步加載table表中某一列數(shù)據(jù)的例子

    今天小編就為大家分享一篇layui異步加載table表中某一列數(shù)據(jù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • JavaScript+HTML?實(shí)現(xiàn)網(wǎng)頁錄制音頻與下載

    JavaScript+HTML?實(shí)現(xiàn)網(wǎng)頁錄制音頻與下載

    在這個數(shù)字化的時代,網(wǎng)頁端的音頻處理能力已經(jīng)成為一個非常熱門的需求,本文將詳細(xì)介紹如何利用 getUserMedia 和 MediaRecorder 這兩個強(qiáng)大的 API,實(shí)現(xiàn)網(wǎng)頁端音頻的錄制、處理和播放等功能,需要的朋友可以參考下
    2024-07-07
  • 全面接觸神奇的Bootstrap導(dǎo)航條實(shí)戰(zhàn)篇

    全面接觸神奇的Bootstrap導(dǎo)航條實(shí)戰(zhàn)篇

    導(dǎo)航條(navbar)在Bootstrap中是一個獨(dú)立組件,導(dǎo)航條(navbar)和導(dǎo)航(nav)在Bootstrap中是有明顯區(qū)別的,本文全面接觸神奇的Bootstrap導(dǎo)航條,感興趣的小伙伴們可以參考一下
    2016-08-08
  • JS拖拽插件實(shí)現(xiàn)步驟

    JS拖拽插件實(shí)現(xiàn)步驟

    實(shí)現(xiàn)JS拖拽插件主要從六個方面做介紹:一、js拖拽插件的原理,二、根據(jù)原理實(shí)現(xiàn)的最基本效果,三、代碼抽象與優(yōu)化,四、擴(kuò)展:有效的拖拽元素,五、性能優(yōu)化和總結(jié),六、jquery插件化 ,需要的朋友可以參考下
    2015-08-08

最新評論

阿拉善盟| 湘潭县| 丁青县| 儋州市| 山阴县| 白沙| 海安县| 澄迈县| 青河县| 阿拉善左旗| 平武县| 曲靖市| 成都市| 资溪县| 潼南县| 娱乐| 乌拉特中旗| 修武县| 余江县| 罗定市| 长丰县| 濮阳县| 宁蒗| 锦屏县| 简阳市| 涟水县| 克拉玛依市| 固镇县| 宁蒗| 射洪县| 北安市| 昌宁县| 博客| 邵阳县| 鄂伦春自治旗| 沅江市| 大厂| 祁东县| 永德县| 万荣县| 沂水县|