在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 網(wǎng)頁(yè)設(shè)計(jì)教程 > 詳細(xì)頁(yè)面

使用css3與js完成一個(gè)鐘表代碼過(guò)程

使用css3與js完成一個(gè)鐘表代碼過(guò)程

更新時(shí)間:2025-11-21 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

導(dǎo)網(wǎng)頁(yè)的本質(zhì)就是超級(jí)文本標(biāo)記語(yǔ)言,通過(guò)結(jié)合使用其他的Web技術(shù)(如:腳本語(yǔ)言、公共網(wǎng)關(guān)接口、組件等),可以創(chuàng)造出功能強(qiáng)大的網(wǎng)頁(yè)。因而,超級(jí)文本標(biāo)記語(yǔ)言是萬(wàn)維網(wǎng)(Web)編程的基礎(chǔ),也就是說(shuō)萬(wàn)維網(wǎng)是建立...
網(wǎng)頁(yè)的本質(zhì)就是超級(jí)文本標(biāo)記語(yǔ)言,通過(guò)結(jié)合使用其他的Web技術(shù)(如:腳本語(yǔ)言、公共網(wǎng)關(guān)接口、組件等),可以創(chuàng)造出功能強(qiáng)大的網(wǎng)頁(yè)。因而,超級(jí)文本標(biāo)記語(yǔ)言是萬(wàn)維網(wǎng)(Web)編程的基礎(chǔ),也就是說(shuō)萬(wàn)維網(wǎng)是建立在超文本基礎(chǔ)之上的。超級(jí)文本標(biāo)記語(yǔ)言之所以稱為超文本標(biāo)記語(yǔ)言,是因?yàn)槲谋局邪怂^“超級(jí)鏈接”點(diǎn)。
本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于使用css3和js實(shí)現(xiàn)一個(gè)鐘表代碼過(guò)程,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。

有一天看到css3旋轉(zhuǎn)這個(gè)屬性,突發(fā)奇想的寫(xiě)了一個(gè)鐘表(沒(méi)做瀏覽器兼容),來(lái)一起看看是怎么寫(xiě)的吧!

先給個(gè)成品圖,最終結(jié)果是個(gè)樣子的(動(dòng)態(tài)的).

      使用css3和js實(shí)現(xiàn)一個(gè)鐘表代碼過(guò)程

首先,思考了一下頁(yè)面的布局,大致需要4層p,最底層是一個(gè)表盤(pán)的背景圖,然后其余3層分別是時(shí)針,分針,秒針的圖層.

html代碼如下

<div class="dial">
</div>
<div class="bigdiv bigdiv1" id="secondHand">
    <div class="secondHand"></div>
</div>
<div class="bigdiv bigdiv2" id="minuteHand">
    <div class="minuteHand"></div>
</div>
<div class="bigdiv bigdiv3" id="hourHand">
    <div class="center"></div>
    <div class="hourHand"></div>
</div>

變量名是隨便起的,不要介意; class=center的這個(gè)p是表中心那個(gè)小黑點(diǎn).

時(shí)針是60*60*60s轉(zhuǎn)一圈, 分針是60*60s轉(zhuǎn)一圈, 秒針是60s轉(zhuǎn)一圈, 所以css代碼如下 ↓

.dial{
    width:600px;
    height:600px;
    margin:0 auto;
    position: absolute;
    border-radius: 50%;
    overflow: hidden;
    background-color: rgba(153,50,204,0.2);
    background-image: url(img/表盤(pán).jpg);
    background-size: 100% 100%;
}
.bigdiv{
    width:600px;
    height:600px;
    margin:0 auto;
    position: absolute;
    border-radius: 50%;
    overflow: hidden;
}
.bigdiv>div{
    position: absolute;
    left:298px;
    border-radius: 100px;
}
.bigdiv1{
    animation: moves 60s steps(60) infinite;
}
.bigdiv1 .secondHand{
    width:4px;
    height:250px;
    background-color: red;
    top:50px;
    left:298px;
}
.bigdiv2{
    animation: moves 3600s steps(3600) infinite;
}
.bigdiv2 .minuteHand{
    width:6px;
    height:180px;
    background-color: green;
    top:120px;
    left:297px;
}
.bigdiv3{
    animation: moves 216000s steps(216000) infinite;
}
.bigdiv3 .hourHand{
    width:8px;
    height:160px;
    background-color: orange;
    top:140px;
    left:296px;
    border-radius: 100px;
}
.bigdiv .center{
    top:290px;
    left:290px;
    width:20px;
    height:20px;
    background-color: black;
    z-index: 2;
}
@keyframes moves{
    from{ transform: rotateZ(0deg); }
    to{ transform: rotateZ(360deg); }
}

這一步做完后效果圖是這個(gè)樣子的:

初步定型圖

然后用js計(jì)算當(dāng)前時(shí)間,

var date = new Date();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();

然后計(jì)算當(dāng)前每個(gè)針的旋轉(zhuǎn)角度

var secondAngle = seconds;
var minuteAngle = minutes * 60 + seconds;
var hourAngle = (60/12) * ((hours%12) * 3600 + minuteAngle);

現(xiàn)在的思路就是:每個(gè)針會(huì)按照自己定的時(shí)間轉(zhuǎn)一圈,初始角度也能知道,怎么組成一個(gè)顯示當(dāng)前時(shí)間的動(dòng)態(tài)鐘表呢?

剛開(kāi)始的想法是讓這3層p旋轉(zhuǎn)對(duì)應(yīng)的角度,然后再開(kāi)始,后來(lái)一想不行,因?yàn)樗是固定的時(shí)間旋轉(zhuǎn)一周,指針指向會(huì)有偏差,

現(xiàn)在需要的是頁(yè)面進(jìn)來(lái)的第一圈旋轉(zhuǎn)固定角度,其余的按照原來(lái)固定的時(shí)間旋轉(zhuǎn)一周就行了,

css3里面有一個(gè)animation-delay屬性,它表示的意思是動(dòng)畫(huà)延遲,負(fù)數(shù)就表示提前開(kāi)始(比如-5s就表示動(dòng)畫(huà)從第5s的時(shí)間開(kāi)始),

剛好可以用到,讓這幾個(gè)指針提前開(kāi)始對(duì)應(yīng)的角度.

js代碼如下

hourHand.style.cssText = "animation-delay: -"+ hourAngle +"s";
minuteHand.style.cssText = "animation-delay: -"+ minuteAngle +"s";
secondHand.style.cssText = "animation-delay: -"+ secondAngle +"s";

最后自己再加了個(gè)動(dòng)態(tài)時(shí)間在鐘表的上面展示

下面是整理后的完整代碼,復(fù)制粘貼即可使用

CSS

body,html{
    margin:0;
}
.location{
    position: relative;
    width:600px;
    height:600px;
    left: calc(50% - 300px);
}
.dial{
    width:600px;
    height:600px;
    margin:0 auto;
    position: absolute;
    border-radius: 50%;
    overflow: hidden;
    background-color: rgba(153,50,204,0.2);
    background-image: url(img/表盤(pán).jpg);
    background-size: 100% 100%;
}
.bigdiv{
    width:600px;
    height:600px;
    margin:0 auto;
    position: absolute;
    border-radius: 50%;
    overflow: hidden;
}
.bigdiv>div{
    position: absolute;
    left:298px;
    border-radius: 100px;
}
.bigdiv1{
    animation: moves 60s steps(60) infinite;
}
.bigdiv1 .secondHand{
    width:4px;
    height:250px;
    background-color: red;
    top:50px;
    left:298px;
}
.bigdiv2{
    animation: moves 3600s steps(3600) infinite;
}
.bigdiv2 .minuteHand{
    width:6px;
    height:180px;
    background-color: green;
    top:120px;
    left:297px;
}
.bigdiv3{
    animation: moves 216000s steps(216000) infinite;
}
.bigdiv3 .hourHand{
    width:8px;
    height:160px;
    background-color: orange;
    top:140px;
    left:296px;
    border-radius: 100px;
}
.bigdiv .center{
    top:290px;
    left:290px;
    width:20px;
    height:20px;
    background-color: black;
    z-index: 2;
}
@keyframes moves{
    from{ transform: rotateZ(0deg); }
    to{ transform: rotateZ(360deg); }
}
#dateshow{
    text-align: center;
}

html代碼

<h1 id="dateshow"></h1>
<div class="location">
<div class="dial">
</div>
<div class="bigdiv bigdiv1" id="secondHand">
    <div class="secondHand"></div>
</div>
<div class="bigdiv bigdiv2" id="minuteHand">
    <div class="minuteHand"></div>
</div>
<div class="bigdiv bigdiv3" id="hourHand">
    <div class="center"></div>
    <div class="hourHand"></div>
</div>
</div>

js代碼

var dateshow = document.getElementById("dateshow");
var clock = {
    weeks : ["一","二","三","四","五","六","日"],
    getDate:function(){
        date = new Date();
        year = date.getFullYear();
        month = date.getMonth()+1;
        day = date.getDate();
        hours = date.getHours();
        minutes = date.getMinutes();
        seconds = date.getSeconds();
        week = date.getDay();    // 星期
        dateText = year+"年"+month+"月"+clock.format(day)+"日 星期"+clock.formatnum(week)+" "+
            clock.format(hours)+":"+clock.format(minutes)+":"+clock.format(seconds);
        return dateText;
    },
    format:function (data){
        if(data.toString().length == 1){
            data = "0" + data;
        };
        return data;
    },
    formatnum:function (num){
        return clock.weeks[num-1];
    },
    showdate:function (){
        dateshow.innerText = clock.getDate();
    },
    go:function (){
        var secondHand = document.getElementById("secondHand");
        var minuteHand = document.getElementById("minuteHand");
        var hourHand = document.getElementById("hourHand");
        date = new Date();
        hours = date.getHours();
        minutes = date.getMinutes();
        seconds = date.getSeconds();
        var secondAngle = seconds;
        var minuteAngle = minutes * 60 + seconds;
        var hourAngle = (60/12) * ((hours%12) * 3600 + minuteAngle);
        hourHand.style.cssText = "animation-delay: -"+ hourAngle +"s";
        minuteHand.style.cssText = "animation-delay: -"+ minuteAngle +"s";
        secondHand.style.cssText = "animation-delay: -"+ secondAngle +"s";
    }
    
}
clock.go();
clock.showdate();
setInterval("clock.showdate()",1000);

以上就是使用css3和js實(shí)現(xiàn)一個(gè)鐘表代碼過(guò)程的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語(yǔ),涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 国产精品入口免费软件| 成人免费视频91| 国内精品国产三级国产99| 国产熟女高潮视频| 中文字幕在线导航| 北条麻妃69av| 天天av天天操| 亚洲人成无码网站久久99热国产| 91专区在线观看| 中文字幕网av| 黄色动漫在线免费看| 日本人体一区二区| 日韩精品―中文字幕| 国内精品国产三级国产99| 久草综合在线观看| 婷婷中文字幕在线观看| 99久久99精品| 欧美性久久久久| 成人综合视频在线| 久久久久久久久影视| 日韩视频第二页| 国产精品视频黄色| 一级黄色录像免费看| 视频免费1区二区三区| 国产原创中文在线观看| 日本特级黄色大片| 日本人视频jizz页码69| 成人午夜免费剧场| 大j8黑人w巨大888a片| 国产精品视频网站在线观看| h无码动漫在线观看| 国产亚洲黄色片| 玖玖爱视频在线| 亚洲中文字幕无码一区二区三区| 久久无码高潮喷水| 亚洲自拍第三页| av在线免费观看国产| 99re6这里有精品热视频| 国产av第一区| 久草综合在线观看| 日韩va在线观看| 熟女少妇在线视频播放| 国产日韩av网站| 国产树林野战在线播放| 亚洲免费av网| av在线免费看片| 樱花草www在线| 成人在线观看黄| 视频免费1区二区三区| 女人被男人躁得好爽免费视频| 99亚洲精品视频| 久久精品视频16| 狠狠热免费视频| 激情视频小说图片| 在线观看18视频网站| 黄色一级片av| 老司机av福利| 污版视频在线观看| 99re99热| 精品视频一区二区在线| www.av91| 国产又粗又猛又爽又黄的网站| 欧美 日韩 国产精品| 少妇一级淫免费放| 欧美久久久久久久久久久久久| 男人靠女人免费视频网站| 老司机午夜av| 成年人在线观看视频免费| 91香蕉视频免费看| 极品粉嫩国产18尤物| 成人高清dvd| 超级碰在线观看| 成人在线免费观看av| 精品999在线| www.桃色.com| 国产片侵犯亲女视频播放| 99热都是精品| 大片在线观看网站免费收看| 男人草女人视频| 福利视频999| 熟妇人妻va精品中文字幕| 欧美激情亚洲天堂| 天堂在线资源视频| mm131国产精品| 性鲍视频在线观看| www.av毛片| www,av在线| 亚洲xxx在线观看| 天天操,天天操| 亚洲最大综合网| 真人抽搐一进一出视频| 日韩av在线综合| 中文字幕无码不卡免费视频| 日韩一级性生活片| www..com日韩| 欧美成人三级在线播放| 日本不卡一区二区在线观看| 97超碰在线视| 久久无码高潮喷水| 狠狠干狠狠操视频| 18视频在线观看娇喘| 日日碰狠狠躁久久躁婷婷| 国产成a人亚洲精v品在线观看| 久久国产亚洲精品无码| 欧美视频第三页| 国产xxxxx在线观看| 天天爽夜夜爽一区二区三区| 性生活免费在线观看| 一级黄色特级片| 日韩欧美理论片| 深夜做爰性大片蜜桃| 免费不卡av在线| 亚洲欧美激情网| 激情深爱综合网| 牛夜精品久久久久久久| 97视频在线免费播放| 国产日韩av网站| 久久天天东北熟女毛茸茸| 欧美日韩午夜爽爽| 亚洲小视频网站| 一区二区三区一级片| 91传媒久久久| 亚洲欧美日韩不卡| 亚欧美在线观看| 欧美性受xxxx黑人猛交88| 喜爱夜蒲2在线| 日本老太婆做爰视频| 黄色一级在线视频| 男人的天堂日韩| 国产成人精品视频免费看| av噜噜在线观看| 青青草国产精品视频| 91国视频在线| 人妻无码久久一区二区三区免费| 午夜免费看毛片| 久久精品网站视频| 97超碰免费观看| 香港三级韩国三级日本三级| 国产又大又黄又猛| 日本免费成人网| 国产美女无遮挡网站| 成人性做爰aaa片免费看不忠| r级无码视频在线观看| 在线看免费毛片| 日韩在线xxx| 久久久久久久久久毛片| 免费看日b视频| 天天干天天草天天| www日韩视频| 日韩极品视频在线观看| 欧美在线观看视频免费| 无码无遮挡又大又爽又黄的视频| 一区二区三区 日韩| 日本免费在线视频观看| 中文字幕第38页| 日本aa在线观看| 日韩av卡一卡二| 六月丁香激情网| 欧美成人三级在线播放| www亚洲成人| 国产精品天天av精麻传媒| 久久精品xxx| 波多结衣在线观看| 糖心vlog在线免费观看| 国产资源第一页| www.xxx亚洲| 欧美视频亚洲图片| 搞av.com| av动漫免费观看| 中文字幕色网站| 日本aa在线观看| 成人免费性视频| www.亚洲高清| 免费看黄色一级大片| 色啦啦av综合| www.99r| 少妇av一区二区三区无码| 香港日本韩国三级网站| 91视频福利网| 五月婷婷六月丁香激情| 亚洲欧美视频二区| 日韩国产一级片| www.男人天堂网| 污污的视频免费观看| 18禁免费观看网站| 麻豆传传媒久久久爱| 992kp免费看片| aⅴ在线免费观看| 91好吊色国产欧美日韩在线| 亚洲另类第一页| www.99av.com| 久久久久久久久久久久久国产| 日韩av资源在线| 激情婷婷综合网| 91香蕉视频污版| 日本免费黄色小视频| 91精品国产吴梦梦| 男女污污的视频| 五月婷婷丁香综合网| 国产黄色片免费在线观看|