成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

js+css3實現簡單時鐘特效

瀏覽:355日期:2024-04-20 15:32:52

本文實例為大家分享了js+css3實現簡單時鐘的具體代碼,供大家參考,具體內容如下

1.實現了時鐘的特效,可以轉動,時間準確,畫面美觀大氣;2.用到了css3的transform: rotate,transform-origin:,偽元素,border-radius,定位,z-index等等

效果如圖:

js+css3實現簡單時鐘特效

代碼如下:

<!DOCTYPE html><html> <head> <meta charset='UTF-8'> <title>CSS3時鐘特效</title> <link rel='shortcut icon' type='image/x-icon' href='http://www.piao2010.com/bcjs/img/an.ico' /> <style> /*表盤邊框*/ .clock { /* 設置大小 */ width: 400px; height: 400px; position: relative; margin: 40px auto; /*上邊距*/ border-radius: 50%; /*圓形*/ box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.5); /*表盤陰影*/ background: #F5DEB3; border: 10px solid #FFFF00; } /*畫刻度的面板*/ .box { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } /*用來裝刻度和數字的div*/ .box div { width: 0px; height: 200px; position: absolute; left: 200px; /*旋轉*/ transform: rotate(0deg); /*設置基點為右下角*/ transform-origin: bottom right; background: rgba(255, 0, 0, 0.5); } /*數字*/ .box div i { float: left; margin-top: 20px; margin-left: -10px; font-style: normal; width: 20px; text-align: center; font-style: 18px; } /*小刻度*/ .box div::after { content: ''; position: absolute; background: #484848; width: 2px; height: 10px; left: -1px; } /*大刻度*/ .box div.five::after { position: absolute; content: ''; width: 4px; height: 20px; left: -2px; top: 0; background: #484848; border-radius: 0 0 2px 2px; } /*秒針樣式*/ .second { width: 1px; height: 200px; background: red; position: absolute; left: 200px; /*距離表盤寬度一半*/ margin-top: 30px; z-index: 10; transform: rotate(0deg); transform-origin: center 170px; /*定位旋轉位置*/ } /*圓心樣式*/ .second::after { content: ''; position: absolute; width: 20px; height: 20px; background: red; border-radius: 50%; bottom: 20px; left: -10px; } /*分針樣式*/ .minute { width: 2px; height: 140px; background: #8b8b8d; position: absolute; left: 199px; margin-top: 60px; z-index: 9; transform-origin: center bottom; transform: rotate(12deg); animation: minute 60s linear infinite; } /*時針樣式*/ .hour { width: 6px; height: 100px; background: #333; position: absolute; left: 197px; margin-top: 100px; z-index: 8; border-radius: 3px; transform: rotate(2deg); transform-origin: center bottom; animation: minute 60s linear infinite; } </style> </head> <body> <div class='clock'> <div class='box'></div> <div class='second'></div> <div class='minute'></div> <div class='hour'></div> </div> <script> var box = document.getElementsByClassName('box')[0]; var ssObj = document.getElementsByClassName('second')[0]; var mmObj = document.getElementsByClassName('minute')[0]; var hhObj = document.getElementsByClassName('hour')[0]; /*獲取當前時間*/ var date = new Date(); var hh = date.getHours(); var mm = date.getMinutes(); var ss = date.getSeconds(); /*計算頁面指針加載時的角度*/ hhDeg = 360 * (hh % 12) / 12; mmDeg = 360 * mm / 60; ssDeg = 360 * ss / 60; hhObj.style.transform = 'rotate(' + hhDeg + 'deg)'; mmObj.style.transform = 'rotate(' + mmDeg + 'deg)'; ssObj.style.transform = 'rotate(' + ssDeg + 'deg)'; // 定義初始刻度的度數 var Deg = 0; /*畫刻度*/ for (var i = 0; i < 60; i++) { var div1 = document.createElement('div'); //創建一個div var hourNum = i / 5; //當為5時 if (hourNum == 0) hourNum = 12; if (i % 5 == 0) { //大刻度 div1.className = 'five'; div1.innerHTML = '<i>' + hourNum + '</i>' } div1.style.transform = 'rotate(' + Deg + 'deg)'; box.appendChild(div1); Deg += 6;// 每兩個刻度之間是6度 } /*指針轉動的函數*/ function drawSS() { // 秒針的度數 ssDeg = 360 * ss / 60; // 分針的度數 mmDeg1 = 360 * mm / 60; // 時針的度數 hhDeg1 = 360 * (hh % 12) / 12; // 分針每秒走的位置 mmDeg = mmDeg1 + (6 * ss / 60); // 時針每分鐘走的位置 hhDeg = hhDeg1 + (30 * mm / 60); hhObj.style.transform = 'rotate(' + hhDeg + 'deg)'; mmObj.style.transform = 'rotate(' + mmDeg + 'deg)'; ssObj.style.transform = 'rotate(' + ssDeg + 'deg)'; ss += 1; if (ss > 60) { ss = 1; mm += 1; } if (mm == 60) { mm = 0; hh += 1; } setTimeout(function() { drawSS(); }, 1000); } drawSS(); </script> </body></html>

精簡版:

<!DOCTYPE html><html> <head> <meta charset='UTF-8'> <title>CSS3時鐘特效</title> <link rel='shortcut icon' type='image/x-icon' href='http://www.piao2010.com/bcjs/img/an.ico' /> <style> /*表盤邊框*/ .clock { /* 設置大小 */ width: 400px; height: 400px; position: relative; margin: 40px auto; /*上邊距*/ border-radius: 50%; /*圓形*/ box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.5); /*表盤陰影*/ background: #F5DEB3; border: 10px solid #FFFF00; } /*畫刻度的面板*/ .box { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } /*用來裝刻度的div*/ .box div { width: 0px; height: 200px; position: absolute; left: 200px; /*旋轉*/ transform: rotate(0deg); /*設置基點為右下角*/ transform-origin: bottom right; background: rgba(255, 0, 0, 0.5); } /*小刻度*/ .box div:after { content: ''; position: absolute; background: #484848; width: 2px; height: 10px; left: -1px; } /*大刻度*/ .box div.five:after { position: absolute; content: ''; width: 4px; height: 20px; left: -2px; top: 0; background: #484848; border-radius: 0 0 2px 2px; } /*秒針樣式*/ .second { width: 1px; height: 200px; background: red; position: absolute; left: 200px; /*距離表盤寬度一半*/ margin-top: 30px; z-index: 10; transform: rotate(0deg); transform-origin: center 170px; /*定位旋轉位置*/ } /*圓心樣式*/ .second:after { content: ''; position: absolute; width: 20px; height: 20px; background: red; border-radius: 50%; bottom: 20px; left: -10px; } /*分針樣式*/ .minute { width: 2px; height: 140px; background: #8b8b8d; position: absolute; left: 199px; margin-top: 60px; z-index: 9; transform-origin: center bottom; transform: rotate(12deg); } /*時針樣式*/ .hour { width: 6px; height: 100px; background: #333; position: absolute; left: 197px; margin-top: 100px; z-index: 8; border-radius: 3px; transform: rotate(2deg); transform-origin: center bottom; } </style> </head> <body> <div class='clock'> <div class='box'></div> <div class='second'></div> <div class='minute'></div> <div class='hour'></div> </div> <script> var box = document.getElementsByClassName('box')[0]; var ssObj = document.getElementsByClassName('second')[0]; var mmObj = document.getElementsByClassName('minute')[0]; var hhObj = document.getElementsByClassName('hour')[0]; /*獲取當前時間*/ var date = new Date(); var hh = date.getHours(); var mm = date.getMinutes(); var ss = date.getSeconds(); /*計算頁面指針加載時的角度*/ drawSS(); // 定義初始刻度的度數 var Deg = 0; /*畫刻度*/ for (var i = 0; i < 60; i++) { var div1 = document.createElement('div'); //創建一個div //當為5時 if (i % 5 == 0) { //大刻度 div1.className = 'five'; } div1.style.transform = 'rotate(' + Deg + 'deg)'; box.appendChild(div1); Deg += 6;// 每兩個刻度之間是6度 } /*指針轉動的函數*/ function drawSS() { // 秒針的度數 ssDeg = 360 * ss / 60; // 分針的度數 mmDeg = 360 * mm / 60 + (6 * ss / 60); // 時針的度數 hhDeg = 360 * (hh % 12) / 12 + (30 * mm / 60); // 旋轉 hhObj.style.transform = 'rotate(' + hhDeg + 'deg)'; mmObj.style.transform = 'rotate(' + mmDeg + 'deg)'; ssObj.style.transform = 'rotate(' + ssDeg + 'deg)'; ss += 1; // 每秒鐘調用一次 setTimeout(function() { drawSS(); }, 1000); } </script> </body></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美一区综合| 国产精品视频一二三| 欧美精品一区二区在线播放| 国产做a爰片久久毛片| 久久精品盗摄| 亚洲一区二区中文在线| 制服诱惑一区二区| 玉米视频成人免费看| 欧美三日本三级少妇三99| 精品三级av在线| 丁香啪啪综合成人亚洲小说| 在线视频国内自拍亚洲视频| 亚洲成a人在线观看| 亚洲精品少妇| 亚洲激情五月婷婷| 夜夜夜久久久| 一区二区三区在线观看网站| 亚洲第一在线| 亚洲裸体在线观看| 国产日韩1区| 亚洲国产精品自拍| 亚洲伊人网站| 亚洲福利一区二区| 久久国产一区| 免费国产亚洲视频| 欧美久久一二区| 国产乱码精品一品二品| 制服丝袜成人动漫| 成人午夜电影网站| 久久午夜免费电影| 国产精品第十页| 亚洲欧美一区二区三区久本道91| 一区二区三区四区五区在线| 亚洲国产一区二区三区| 国产精品毛片| 亚洲第一狼人社区| 久热精品视频| 精品一二三四区| 日韩欧美国产不卡| 欧美在线3区| 综合分类小说区另类春色亚洲小说欧美 | 国产欧美中文在线| 伊人蜜桃色噜噜激情综合| 亚洲精品视频免费看| 久久久水蜜桃| 国产一区二区精品久久99| 91麻豆精品国产自产在线| 不卡的av在线| 成人免费视频在线观看| 国产精品免费一区二区三区观看| 日韩中文字幕亚洲一区二区va在线| 欧美日韩在线精品一区二区三区激情| 高潮精品一区videoshd| 国产欧美一区二区三区沐欲| 日韩视频精品在线观看| 日本最新不卡在线| 日韩欧美色综合| 精品成人国产| 免费在线看一区| 精品对白一区国产伦| 激情成人亚洲| 日韩精品每日更新| 日韩精品一区二区三区视频播放 | 成人午夜在线视频| 国产精品萝li| 午夜在线一区二区| 国内精品视频666| 日本一区二区三区四区在线视频 | 国产精品视频免费一区| 激情图区综合网| 国产亚洲1区2区3区| 国产精品一区二区三区免费观看 | 一区三区视频| 亚洲妇熟xx妇色黄| 777精品伊人久久久久大香线蕉| 91麻豆免费视频| 亚洲成人7777| 2020国产精品自拍| 亚洲欧美日韩视频二区| 国产盗摄一区二区| 成人免费在线视频观看| 欧美色网一区二区| 欧美日本一区二区视频在线观看 | 欧美经典一区二区三区| 麻豆精品网站| 成人美女在线视频| 洋洋av久久久久久久一区| 69堂成人精品免费视频| 日韩亚洲在线| 国产成人99久久亚洲综合精品| 国产精品理伦片| 在线观看av不卡| 欧美高清不卡| 蜜臀国产一区二区三区在线播放| 26uuu色噜噜精品一区二区| 国产精品免费看| 国产999精品久久| 亚洲精品v日韩精品| 欧美精品一级二级三级| 亚洲成人直播| 成人小视频在线观看| 午夜视频在线观看一区| 久久久久久电影| 色婷婷综合激情| 99re在线精品| 偷偷要91色婷婷| 久久精品男人的天堂| 在线观看免费一区| 国产精品激情| 国产精品一区二区在线观看网站| 一区二区三区在线播放| 欧美一级黄色片| 蜜桃av久久久亚洲精品| 97精品视频在线观看自产线路二| 日本亚洲电影天堂| 国产精品电影一区二区三区| 欧美精品亚洲一区二区在线播放| 日韩一级不卡| 91浏览器在线视频| 精品一区二区三区蜜桃| 亚洲综合色区另类av| 欧美精品一区二区三区一线天视频 | 久久久久久9| 欧美日韩一区二区三区在线观看免| 国内精品国产三级国产a久久| 亚洲综合一区二区三区| 亚洲精品一区在线观看| 欧美日韩一区二区在线观看视频| 亚洲激情欧美| 91在线观看一区二区| 国内精品久久久久影院薰衣草| 亚洲国产视频a| 国产精品久久久久精k8| 精品人在线二区三区| 在线观看av不卡| 在线亚洲激情| 91丨九色丨蝌蚪富婆spa| 激情深爱一区二区| 日韩高清国产一区在线| 亚洲另类在线视频| 国产午夜亚洲精品理论片色戒| 91麻豆精品国产91久久久久久| 蜜桃av综合| 亚洲精品美女| 国产精品v日韩精品v欧美精品网站| 国产高清在线精品| 青青草原综合久久大伊人精品 | 亚洲色图都市小说| 国产亚洲女人久久久久毛片| 91精品国产一区二区三区蜜臀| 91黄色小视频| 色综合av在线| 国产美女精品| 一区二区三区国产在线| 国产一区二区中文| 91色porny| 97久久精品人人做人人爽| 国产精品一二三四五| 男人的j进女人的j一区| 日产欧产美韩系列久久99| 天天av天天翘天天综合网| 一区二区三区在线高清| 国产精品初高中害羞小美女文| 国产精品日韩精品欧美在线| 久久精品男人天堂av| 久久久国产精品麻豆| 久久久噜噜噜久久人人看| 久久女同性恋中文字幕| 久久久综合精品| 久久综合999| 精品国产乱码久久久久久牛牛| 日韩视频免费观看高清完整版| 56国语精品自产拍在线观看| 欧美日韩一二区| 精品视频一区二区不卡| 欧美午夜视频网站| 日韩电影免费在线| 蜜臀av一区二区在线免费观看| 美女视频黄a大片欧美| 久久国产精品色婷婷| 久久99国产精品久久99果冻传媒| 麻豆免费看一区二区三区| 日本欧美一区二区在线观看| 日韩综合小视频| 日本欧美一区二区三区| 六月丁香婷婷色狠狠久久| 久久国产精品色| 国产一区二区不卡老阿姨| 国产福利一区二区三区视频| 国产精品一区二区久久精品爱涩| 国产麻豆91精品| 成人免费视频播放| 97久久人人超碰| 国产精品国产三级国产专区53| 亚洲精品资源| 亚洲制服av| 在线观看日韩国产| 日韩一区二区中文字幕| 2023国产精品| 国产精品卡一卡二卡三|