亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

用CSS3實(shí)現(xiàn)鐘表效果

1treeS / 1390人閱讀

摘要:背景最近在學(xué)習(xí),看到了一個(gè)小案例,通過(guò)自己的學(xué)習(xí),動(dòng)手實(shí)現(xiàn)了它,現(xiàn)在把它分享出來(lái)。效果圖實(shí)現(xiàn)過(guò)程首先我們需要在頁(yè)面中寫出一個(gè)靜態(tài)的鐘表效果。并對(duì)其進(jìn)行簡(jiǎn)單樣式設(shè)置。

背景:最近在學(xué)習(xí)CSS3,看到了一個(gè)小案例,通過(guò)自己的學(xué)習(xí),動(dòng)手實(shí)現(xiàn)了它,現(xiàn)在把它分享出來(lái)。

效果圖

實(shí)現(xiàn)過(guò)程

1.首先我們需要在頁(yè)面中寫出一個(gè)靜態(tài)的鐘表效果。首先我們需要一個(gè)表盤div wrap 對(duì)其進(jìn)行簡(jiǎn)單的樣式設(shè)置,用border-radius屬性將其設(shè)置成圓形。

        
#wrap{width:200px; height:200px; border:2px solid #000; margin:100px auto;border- radius:50%; position:relative;}

2.接下來(lái)我們用ul和li來(lái)寫表盤中的刻度,對(duì)其進(jìn)行簡(jiǎn)單的樣式設(shè)置。其中需要注意的是,我們用 -webkit-transform-origin:center 100px;來(lái)設(shè)置我們的旋轉(zhuǎn)基點(diǎn)。然后利用 -webkit-transform: rotate(0);讓我們的li旋轉(zhuǎn)相應(yīng)的角度形成相應(yīng)的刻度。

        
#wrap ul{margin:0; padding:0; height:200px; position:relative; list-style:none;} #wrap ul li{width:2px; height:6px; background:#000; position:absolute; left:99px; top: 0;-webkit-transform-origin:center 100px;} #wrap ul li:nth-of-type(1){-webkit-transform: rotate(0);} #wrap ul li:nth-of-type(2){-webkit-transform: rotate(6deg);} #wrap ul li:nth-of-type(3){-webkit-transform: rotate(12deg);} #wrap ul li:nth-of-type(4){-webkit-transform: rotate(18deg);} #wrap ul li:nth-of-type(5){-webkit-transform: rotate(24deg);} #wrap ul li:nth-of-type(6){-webkit-transform: rotate(30deg);} #wrap ul li:nth-of-type(7){-webkit-transform: rotate(36deg);} #wrap ul li:nth-of-type(8){-webkit-transform: rotate(42deg);} #wrap ul li:nth-of-type(5n+1){ height:12px;}

3.其中我們?cè)O(shè)計(jì)到了css3的選擇器nth-of-type() ,它規(guī)定其屬于其父元素的第幾個(gè)li元素。
當(dāng)然,我們不可能將表盤的刻度都統(tǒng)統(tǒng)去設(shè)置li的樣式去完成。我們后面需要用js去渲染它。
在渲染之前,我們需要去寫上我們的秒針、分針、時(shí)針。分別是div hour、min、sec,并且我們對(duì)其進(jìn)行樣式的設(shè)置。為了美化一下,我們?cè)賹懸粋€(gè)div icon,圓點(diǎn)。并對(duì)其進(jìn)行簡(jiǎn)單樣式設(shè)置。

        
#hour{width:6px; height:45px; background:#000; position:absolute; left:97px; top:55px;-webkit-transform-origin:bottom ;} #min{width:4px; height:65px; background:#999; position:absolute; left:98px; top:35px;-webkit-transform-origin:bottom ;} #sec{width:2px; height:80px; background:red; position:absolute; left:99px; top:20px;-webkit-transform-origin:bottom ;} .icon{width:20px; height:20px; background:#000; border-radius:50%; position:absolute; left:90px; top: 90px;}

4.接下來(lái)我們來(lái)寫一下讓鐘表動(dòng)起來(lái)的JavaScript,首先用js去獲取各個(gè)div。

        var oList=document.getElementById("list");//獲取到刻度
        var oCss=document.getElementById("css");
        var oHour=document.getElementById("hour");//獲取時(shí)針
        var oMin=document.getElementById("min");//獲取分針
        var oSec=document.getElementById("sec");//獲取秒針
        var oLi="";
        var sCss="";

5.接下來(lái)去渲染表盤的刻度。

    for (var i=0;i<60;i++) { //一個(gè)表盤總共是60個(gè)刻度
            sCss+="#wrap ul li:nth-of-type("+(i+1)+"){-webkit-transform:             rotate("+i*6+"deg);}";
            oLi+="
  • "; }; oList.innerHTML=oLi; oCss.innerHTML+=sCss;//表盤刻度渲染完成

    6.接下來(lái)我們?nèi)懸粋€(gè)鐘表表針根據(jù)時(shí)間變動(dòng)的函數(shù),先利用new Date()獲取時(shí)間,然后通過(guò)去改變表針的樣式去讓表針根據(jù)時(shí)間去轉(zhuǎn)動(dòng),秒針一秒相當(dāng)于旋轉(zhuǎn)6度,分鐘一秒相當(dāng)轉(zhuǎn)動(dòng)6度,時(shí)針轉(zhuǎn)動(dòng)1秒相當(dāng)于轉(zhuǎn)動(dòng)30度。

    function toTime(){
                var oDate=new Date();//獲取當(dāng)前時(shí)間
                var iSec=oDate.getSeconds();//獲取當(dāng)前秒
                var iMin=oDate.getMinutes()+iSec/60;//獲取當(dāng)前分
                var iHour=oDate.getHours()+iMin/60;//獲取當(dāng)前時(shí)
                oSec.style.WebkitTransform="rotate("+iSec*6+"deg)";//秒針轉(zhuǎn)動(dòng)角度1秒6度 (表盤一圈360度一圈60秒所以一秒6度)
                oMin.style.WebkitTransform="rotate("+iMin*6+"deg)";//分鐘轉(zhuǎn)動(dòng)角度1分6度 (表盤一圈360度一圈60分所以一分6度)
                oHour.style.WebkitTransform="rotate("+iHour*30+"deg)";//時(shí)針轉(zhuǎn)動(dòng)角度一小時(shí)30度(表盤一圈360度一圈12小時(shí)所以一小時(shí)30度)
            };
    

    7.最后我們來(lái)開(kāi)一個(gè)定時(shí)器,讓函數(shù)隔一秒執(zhí)行一次。

            toTime();
            setInterval(toTime,1000);
    

    至此一個(gè)鐘表效果就寫完了,下面是全部源代碼

    效果源碼
    
    
    
        
        鐘表
    
    
    
    
        

    文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/115779.html

    相關(guān)文章

    • CSS3實(shí)現(xiàn)鐘表效果

      摘要:背景最近在學(xué)習(xí),看到了一個(gè)小案例,通過(guò)自己的學(xué)習(xí),動(dòng)手實(shí)現(xiàn)了它,現(xiàn)在把它分享出來(lái)。效果圖實(shí)現(xiàn)過(guò)程首先我們需要在頁(yè)面中寫出一個(gè)靜態(tài)的鐘表效果。并對(duì)其進(jìn)行簡(jiǎn)單樣式設(shè)置。 背景:最近在學(xué)習(xí)CSS3,看到了一個(gè)小案例,通過(guò)自己的學(xué)習(xí),動(dòng)手實(shí)現(xiàn)了它,現(xiàn)在把它分享出來(lái)。 效果圖 showImg(https://segmentfault.com/img/bV5hBr?w=457&h=366); 實(shí)現(xiàn)...

      codergarden 評(píng)論0 收藏0
    • CSS3實(shí)現(xiàn)鐘表效果

      摘要:背景最近在學(xué)習(xí),看到了一個(gè)小案例,通過(guò)自己的學(xué)習(xí),動(dòng)手實(shí)現(xiàn)了它,現(xiàn)在把它分享出來(lái)。效果圖實(shí)現(xiàn)過(guò)程首先我們需要在頁(yè)面中寫出一個(gè)靜態(tài)的鐘表效果。并對(duì)其進(jìn)行簡(jiǎn)單樣式設(shè)置。 背景:最近在學(xué)習(xí)CSS3,看到了一個(gè)小案例,通過(guò)自己的學(xué)習(xí),動(dòng)手實(shí)現(xiàn)了它,現(xiàn)在把它分享出來(lái)。 效果圖 showImg(https://segmentfault.com/img/bV5hBr?w=457&h=366); 實(shí)現(xiàn)...

      SimonMa 評(píng)論0 收藏0
    • css3+js寫了一個(gè)鐘表

      摘要:有一天看到旋轉(zhuǎn)這個(gè)屬性突發(fā)奇想的寫了一個(gè)鐘表沒(méi)做瀏覽器兼容來(lái)一起看看是怎么寫的吧先給個(gè)成品圖最終結(jié)果是個(gè)樣子的動(dòng)態(tài)的首先思考了一下頁(yè)面的布局大致需要層最底層是一個(gè)表盤的背景圖然后其余層分別是時(shí)針?lè)轴樏脶樀膱D層代碼如下變量名是隨便起的不要有一天看到css3旋轉(zhuǎn)這個(gè)屬性,突發(fā)奇想的寫了一個(gè)鐘表(沒(méi)做瀏覽器兼容),來(lái)一起看看是怎么寫的吧! 先給個(gè)成品圖,最終結(jié)果是個(gè)樣子的(動(dòng)態(tài)的).       ...

      番茄西紅柿 評(píng)論0 收藏0
    • (30個(gè)原生js挑戰(zhàn))原生js實(shí)現(xiàn)鐘表

      摘要:緊接著昨天的實(shí)例,第二個(gè)是原生實(shí)現(xiàn)鐘表特效。然后根據(jù)鐘表中,角度和時(shí)間的算法關(guān)系。需要注意的是,我的算法和之前的算法不一樣,這個(gè)可以根據(jù)自己的想法實(shí)現(xiàn),實(shí)現(xiàn)的效果是不一樣的。首先知道鐘表是,然后根據(jù)一個(gè)小時(shí),來(lái)算出各個(gè)針的角度。 緊接著昨天的實(shí)例,第二個(gè)是原生js實(shí)現(xiàn)鐘表特效。首先介紹下大致思路,首先要用css把時(shí)針?lè)轴樅兔脶槷嫵鰜?lái)。然后根據(jù)鐘表中,角度和時(shí)間的算法關(guān)系。 設(shè)置角度。 ...

      pcChao 評(píng)論0 收藏0
    • (30個(gè)原生js挑戰(zhàn))原生js實(shí)現(xiàn)鐘表

      摘要:緊接著昨天的實(shí)例,第二個(gè)是原生實(shí)現(xiàn)鐘表特效。然后根據(jù)鐘表中,角度和時(shí)間的算法關(guān)系。需要注意的是,我的算法和之前的算法不一樣,這個(gè)可以根據(jù)自己的想法實(shí)現(xiàn),實(shí)現(xiàn)的效果是不一樣的。首先知道鐘表是,然后根據(jù)一個(gè)小時(shí),來(lái)算出各個(gè)針的角度。 緊接著昨天的實(shí)例,第二個(gè)是原生js實(shí)現(xiàn)鐘表特效。首先介紹下大致思路,首先要用css把時(shí)針?lè)轴樅兔脶槷嫵鰜?lái)。然后根據(jù)鐘表中,角度和時(shí)間的算法關(guān)系。 設(shè)置角度。 ...

      taowen 評(píng)論0 收藏0

    發(fā)表評(píng)論

    0條評(píng)論

    最新活動(dòng)
    閱讀需要支付1元查看
    <