canvas圓形時鐘效果
本章節分享一段程式碼例項,它利用canvas實現了圓形時鐘效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> </head> <body> <canvas id="clock" width="500" height="500"></canvas> <script> var clock = document.getElementById('clock'); var cxt = clock.getContext('2d'); function drawClock() { //獲取時間 cxt.clearRect(0, 0, 500, 500); var now = new Date(); var sec = now.getSeconds(); var min = now.getMinutes(); var hour = now.getHours(); //規格化 hour = hour + min / 60; hour = hour > 12 ? hour - 12 : hour; //錶盤 cxt.lineWidth = 10; cxt.strokeStyle = "blue"; cxt.beginPath(); cxt.arc(250, 250, 200, 0, 360, false); cxt.closePath(); cxt.stroke(); //錶盤格 for (var i = 0; i < 12; i++) { cxt.save(); cxt.lineWidth = 7; cxt.strokeStyle = "#000"; cxt.translate(250, 250); cxt.rotate(i * 30 * Math.PI / 180); cxt.beginPath(); cxt.moveTo(0, -170); cxt.lineTo(0, -190); cxt.closePath(); cxt.stroke(); cxt.restore(); } for (var i = 0; i < 60; i++) { cxt.save(); cxt.lineWidth = 5; cxt.strokeStyle = "#000"; cxt.translate(250, 250); cxt.rotate(i * 6 * Math.PI / 180); cxt.beginPath(); cxt.moveTo(0, -180); cxt.lineTo(0, -190); cxt.closePath(); cxt.stroke(); cxt.restore(); } //時針 cxt.save(); cxt.lineWidth = 7; cxt.strokeStyle = "#000"; cxt.translate(250, 250); cxt.rotate(hour * 30 * Math.PI / 180); cxt.beginPath(); cxt.moveTo(0, -140); cxt.lineTo(0, 10); cxt.closePath(); cxt.stroke(); cxt.restore(); //分針 cxt.save(); cxt.lineWidth = 5; cxt.strokeStyle = "#000"; cxt.translate(250, 250); cxt.rotate(min * 6 * Math.PI / 180); cxt.beginPath(); cxt.moveTo(0, -160); cxt.lineTo(0, 15); cxt.closePath(); cxt.stroke(); cxt.restore(); //秒針 cxt.save(); cxt.strokeStyle = "red"; cxt.lineWidth = 3; cxt.translate(250, 250); cxt.rotate(sec * 6 * Math.PI / 180); cxt.beginPath(); cxt.moveTo(0, -170); cxt.lineTo(0, 20); cxt.closePath(); cxt.stroke(); cxt.beginPath(); cxt.arc(0, 0, 5, 0, 360, false); cxt.closePath(); cxt.fillStyle = "gray"; cxt.fill(); cxt.stroke(); cxt.beginPath(); cxt.arc(0, -150, 5, 0, 360, false); cxt.closePath(); cxt.fillStyle = "gray"; cxt.fill(); cxt.stroke(); cxt.restore(); } drawClock(); setInterval(drawClock, 1000); </script> </body> </html>
相關文章
- SVG圓形鐘錶效果SVG
- CSS3圓形時鐘效果程式碼CSSS3
- canvas動態時鐘效果Canvas
- 一個圓形時鐘
- canvas繪製圓盤走動鐘錶效果Canvas
- canvas繪製圓形框效果不填充內部Canvas
- canvas繪製圓形鐘錶程式碼例項Canvas
- JavaScript動態圓形鐘錶效果詳解JavaScript
- canvas 繪製圓形Canvas
- canvas立體效果的圓環Canvas
- 圓形放大的hover效果
- CSS圓形圖片效果CSS
- canvas環形進度條效果Canvas
- canvas繪製多個圓圈效果Canvas
- JavaScript 動態圓形鐘錶JavaScript
- 使用canvas繪製圓形進度條Canvas
- canvas原型鐘錶效果程式碼例項Canvas原型
- CSS3圓形進度條效果CSSS3
- 直播網站原始碼,Canvas實現圓形時間倒數計時進度條網站原始碼Canvas
- canvas環形倒數計時Canvas
- Flutter實現圓形波浪進度球【canvas+animation】FlutterCanvas
- 【譯】使用CSS Transitions實現圓形懸停效果CSS
- CSS3標懸浮圓形縮放效果CSSS3
- 很火的時鐘效果
- Canvas環形倒數計時元件Canvas元件
- Vue canvas繪製圓形進度條動畫載入VueCanvas動畫
- 【Web前端基礎知識】如何使用Canvas繪製圓形Web前端Canvas
- 使用 HTML5 Canvas 實現圓形圖片裁剪並上傳HTMLCanvas
- canvas簽名效果Canvas
- canvas矩形拖拽效果Canvas
- canvas小球碰壁效果Canvas
- Flutter 圓形/圓角頭像Flutter
- canvas 繪製圓角矩形Canvas
- Android 圓角、圓形 ImageView 實現AndroidView
- Swift如何純程式碼實現時鐘效果Swift
- canvas實現波浪效果Canvas
- canvas蔚藍星空效果Canvas
- canvas繪製流星效果Canvas