canvas百分比環形進度條程式碼
分享一段程式碼例項,它利用canvas實現了百分比進度條效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> .progress { width: 200px; height: 200px; border: solid 1px #ccc; position: absolute; transform: rotate(-90deg); } #canvas1, #canvas2 { position: absolute; left: 0; top: 0; bottom: 0; right: 0; } #canvas2 { transform: rotate(90deg); } </style> <script> window.onload = function() { function $id(id) { return typeof id === "string" ? document.getElementById(id) : id; } function progress(maxAngle) { var canvas1 = $id("canvas1"); var conText1 = canvas1.getContext("2d"); //2d物件 conText1.lineWidth = 10; //線條寬度 conText1.beginPath(); conText1.strokeStyle = "#ccc"; //筆觸顏色 conText1.arc(100, 100, 95, 0, 2 * Math.PI, false); //繪製圓形 conText1.stroke(); //連結起兩點 conText1.closePath(); //連結起始點和終結點 //轉動的圓環 //轉動的最大度數maxAngle var canvas2 = $id("canvas2"); var conText2 = canvas1.getContext("2d"); //2d物件 conText2.lineWidth = 10; var grd = conText2.createLinearGradient(100, 10, 0, 100); //建立一個線性漸變 grd.addColorStop(1, "#8CE050"); grd.addColorStop(0, "#f00"); //設定fillStyle為當前的漸變物件 conText2.strokeStyle = grd; var angle = 0; //角度 var timer = null; //定時器 timer = setInterval(function() { if (angle < maxAngle / 100 * 360) { angle++; } else { clearInterval(timer); } var progress = parseInt((angle / 360) * 100); //%顯示 conText2.beginPath(); conText2.arc(100, 100, 95, 0, angle * Math.PI / 180, false); conText2.clearRect(0, 0, 200, 200); //走完一次清空一次 conText2.stroke(); conText2.closePath(); conText2.rotate(90 * Math.PI / 180) //旋轉的弧度 conText2.font = "30px Arial"; //字型屬性 conText2.fillStyle = "#000000" var text = progress + "%"; conText2.fillText(text, 80, -90); conText2.closePath(); conText2.restore(); //返回之前儲存過的路徑狀態和屬性 }, 10) } progress(50); } </script> </head> <body> <div class="progress"> <canvas id="canvas1" height="200" width="200"></canvas> <canvas id="canvas2" height="200" width="200"></canvas> </div> </body> </html>
相關文章
- canvas環形百分比進度條效果Canvas
- canvas環形進度條效果Canvas
- svg環形百分比進度條SVG
- canvas錐形漸變進度條Canvas
- 使用canvas繪製圓形進度條Canvas
- canvas的簡單圓形進度條Canvas
- 用初中數學知識擼一個canvas環形進度條Canvas
- canvas圓形進度條註釋超全Canvas
- 直播商城系統原始碼,環形進度條元件原始碼元件
- javascript百分比進度條效果程式碼例項JavaScript
- 實現環形進度條效果【一】
- canvas 畫進度條Canvas
- Vue canvas繪製圓形進度條動畫載入VueCanvas動畫
- Android花樣loading進度條(三)-配文字環形進度條Android
- Js 百分比進度條JS
- jQuery環形旋轉載入進度條效果jQuery
- 一對一聊天原始碼,vue實現環形進度條元件原始碼Vue元件
- Android自定義圓形進度條實現程式碼Android
- 直播電商平臺開發,環形進度條元件元件
- 直播網站原始碼,Canvas實現圓形時間倒數計時進度條網站原始碼Canvas
- C# 下載帶進度條程式碼(普通進度條)C#
- YCProgress自定義百分比進度條
- JavaScript百分比動態進度條JavaScript
- Flutter 波浪圓形進度條Flutter
- 自定義圓形進度條
- SVG畫圓形進度條SVG
- svg和css3建立環形漸變進度條SVGCSSS3
- jQuery 進度條效果程式碼jQuery
- canvas水位進度效果程式碼例項Canvas
- 直播平臺搭建原始碼,canvas 畫一條波浪線 進度條原始碼Canvas
- js百分比載入進度條效果JS
- 前端學習筆記:使用canvas繪製有圓角的百分比進度條前端筆記Canvas
- Android自定義圓形進度條原始碼解析Android原始碼
- Python之程式碼進度條Python
- bat檔案進度條程式碼BAT
- 短視訊商城系統,Android進度條,自定義進度條,顯示百分比Android
- [-Flutter 自定義元件-] 圓形進度條Flutter元件
- Android自定義圓形進度條Android