使用js和canvas實(shí)現(xiàn)時(shí)鐘效果
使用js和canvas寫一個(gè)時(shí)鐘,供大家參考,具體內(nèi)容如下
<!DOCTYPE html>` <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <canvas id='canvas' width='600' height='600' style="border: 1px solid red;"></canvas> <script> /** @type {HTMLCanvasElement} */ let canvas = document.querySelector("#canvas"); let ctx = canvas.getContext("2d"); let deg = Math.PI / 180; let HourR = 100; let MinutesR = 135; let SecondsR = 170; setInterval(function () { canvas.width = canvas.width; ctx.arc(300, 300, 200, 0, Math.PI * 2) ctx.fillStyle = 'rgba(10,100,30,0.2)' ctx.strokeStyle = 'red' //獲取當(dāng)前時(shí)間 let dt = new Date() let Hour = dt.getHours() let Minutes = dt.getMinutes() let Seconds = dt.getSeconds() //時(shí)鐘 ctx.moveTo(300, 300); let xx = HourR * (Math.sin(Hour * 30 * deg)) let yy = HourR * (Math.cos(Hour * 30 * deg)) ctx.lineTo((300 + xx), (300 - yy)) //分鐘和秒鐘 function move(time, R) { ctx.moveTo(300, 300); xx = R * (Math.sin(time * 6 * deg)) yy = R * (Math.cos(time * 6 * deg)) ctx.lineTo((300 + xx), (300 - yy)) } //小時(shí)指針 for (let m = 0; m < 12; m++) { let xx = 190 * (Math.sin(m * 30 * deg)) let yy = 190 * (Math.cos(m * 30 * deg)) let xx1 = 200 * (Math.sin(m * 30 * deg)) let yy1 = 200 * (Math.cos(m * 30 * deg)) ctx.moveTo((300 + xx), (300 - yy)); ctx.lineTo((300 + xx1), (300 - yy1)) } move(Seconds, SecondsR) move(Minutes, MinutesR) ctx.fill() ctx.stroke() }, 1000) </script> </body> </html>
更多JavaScript時(shí)鐘特效點(diǎn)擊查看:JavaScript時(shí)鐘特效專題
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js canvas實(shí)現(xiàn)寫字動(dòng)畫效果
- JS+canvas繪制的動(dòng)態(tài)機(jī)械表動(dòng)畫效果
- JS基于HTML5的canvas標(biāo)簽實(shí)現(xiàn)炫目的色相球動(dòng)畫效果實(shí)例
- javascript+HTML5的Canvas實(shí)現(xiàn)Lab單車動(dòng)畫效果
- js+canvas實(shí)現(xiàn)畫板功能
- js+canvas實(shí)現(xiàn)刮刮獎(jiǎng)功能
- js實(shí)現(xiàn)貪吃蛇游戲 canvas繪制地圖
- javascript使用canvas實(shí)現(xiàn)餅狀圖效果
- javascript canvas實(shí)現(xiàn)簡(jiǎn)易時(shí)鐘例子
- JS Canvas接口和動(dòng)畫效果大全
相關(guān)文章
JS實(shí)現(xiàn)的論壇Ajax打分效果完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)的論壇Ajax打分效果,以完整實(shí)例形式分析了JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素樣式的相關(guān)技巧,需要的朋友可以參考下2015-10-10bootstrap timepicker在angular中取值并轉(zhuǎn)化為時(shí)間戳
這篇文章主要介紹了bootstrap timepicker在angular中取值并轉(zhuǎn)化為時(shí)間戳的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06javascript完美拖拽的實(shí)現(xiàn)方法
這篇文章介紹了javascript完美拖拽的實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-09-09實(shí)時(shí)編輯網(wǎng)頁(yè)網(wǎng)頁(yè)文字實(shí)時(shí)編輯,如同TEXTBOX一般
實(shí)時(shí)編輯網(wǎng)頁(yè)網(wǎng)頁(yè)文字實(shí)時(shí)編輯,如同TEXTBOX一般...2007-03-03手機(jī)端網(wǎng)頁(yè)點(diǎn)擊鏈接觸發(fā)自動(dòng)撥打或保存電話的示例代碼
通過網(wǎng)頁(yè)撥打電話,在點(diǎn)擊鏈接時(shí)觸發(fā)自動(dòng)撥打或保存電話,此方法塞班、安卓與iphone都支持2014-08-08