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
- 使用canvas繪製圓形進度條Canvas
- 用初中數學知識擼一個canvas環形進度條Canvas
- 直播商城系統原始碼,環形進度條元件原始碼元件
- Android花樣loading進度條(三)-配文字環形進度條Android
- 實現環形進度條效果【一】
- canvas 畫進度條Canvas
- Vue canvas繪製圓形進度條動畫載入VueCanvas動畫
- Js 百分比進度條JS
- jQuery環形旋轉載入進度條效果jQuery
- 一對一聊天原始碼,vue實現環形進度條元件原始碼Vue元件
- 直播網站原始碼,Canvas實現圓形時間倒數計時進度條網站原始碼Canvas
- YCProgress自定義百分比進度條
- JavaScript百分比動態進度條JavaScript
- Python之程式碼進度條Python
- 直播平臺搭建原始碼,canvas 畫一條波浪線 進度條原始碼Canvas
- svg和css3建立環形漸變進度條SVGCSSS3
- 直播電商平臺開發,環形進度條元件元件
- Flutter 波浪圓形進度條Flutter
- 前端學習筆記:使用canvas繪製有圓角的百分比進度條前端筆記Canvas
- bat檔案進度條程式碼BAT
- Android自定義圓形進度條Android
- 短視訊商城系統,Android進度條,自定義進度條,顯示百分比Android
- CSS3進度條效果程式碼CSSS3
- vue 自定義指令實現,滾動條百分比進度條。Vue
- CSS3圓形進度條效果CSSS3
- [-Flutter 自定義元件-] 圓形進度條Flutter元件
- Flutter實現圓形波浪進度球【canvas+animation】FlutterCanvas
- ios自定義圓環進度條iOS
- 自定義圓形進度條控制元件控制元件
- 【新特性速遞】進度條,進度條,進度條
- (精華)2020年6月28日 Canvas 進度條Canvas
- canvas環形倒數計時Canvas
- Canvas環形倒數計時元件Canvas元件
- 可拖拽圓形進度條元件(支援移動端)元件
- echarts 繪製圓形進度條帶漸變色Echarts
- css3 製作圓環進度條CSSS3