摘要:代碼如下創建畫布對象開始繪畫微軟雅黑效果如圖使用說明地址
代碼如下:
(function(w) { function Cycle(options) { this.id = options.id; this.width = options.width; this.height = options.height; this.percent = options.percent; this.border = options.border; this.bgColor = options.bgColor; this.barColor = options.barColor; this.textColor = options.textColor; }; Cycle.prototype = { contructor: Cycle, init: function() { //創建畫布對象 var html = ""; document.getElementById(this.id).innerHTML = html; var time = setInterval(function() { this.percent++; if(this.percent >= 100) { clearInterval(time); } this.setOptions(); }.bind(this), 1000); this.setOptions() }, setOptions: function() { var degree = this.percent; var canvas = document.getElementById("canvas_" + this.id); var context = canvas.getContext("2d"); context.clearRect(0, 0, this.width, this.height); //開始繪畫 context.beginPath(); context.lineWidth = this.border; context.strokeStyle = this.bgColor; context.arc(this.width / 2, this.height / 2, (this.width / 2 - this.border / 2), 0, 2 * Math.PI); context.stroke(); var deg = degree * 3.6 / 180 * Math.PI context.beginPath(); context.lineWidth = this.border; context.strokeStyle = this.barColor; context.arc(this.width / 2, this.height / 2, (this.width / 2 - this.border / 2), 0 - Math.PI / 2, deg - Math.PI / 2); context.stroke(); context.beginPath(); context.fillStyle = this.textColor; context.font = "18px 微軟雅黑"; var text = degree + "%"; var textWidth = context.measureText(text).width; context.fillText(text, this.width / 2 - textWidth / 2, this.height / 2 + 9); } } w.Cycle=Cycle; }(window))效果如圖:
使用說明:
var opts1 = { id: "cycle1", width: "300", height: "300", percent: "20", border: "30", bgColor: "green", barColor: "yellow", textColor: "pink" }; var opts2 = { id: "cycle2", width: "400", height: "400", percent: "60", border: "30", bgColor: "gray", barColor: "red", textColor: "pink" }; new Cycle(opts1).init(); new Cycle(opts2).init();github地址:
https://github.com/jeromehan/...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/82760.html
摘要:在開發微信小程序的時候,遇到圓形進度條的需求。但使用和實現進度條就很容易的避免了這方面的問題。如下圖最下面的圓形是進度條的背景,在上面有和兩個長方形,用來覆蓋不要顯示的進度條。在兩個長方形的里面分別有一個半圓形用來顯示進度。 在開發微信小程序的時候,遇到圓形進度條的需求。使用canvas繪圖比較麻煩: 1、為了實現在不同屏幕上面的適配,必須動態的計算進度條的大小; 2、在小程序...
摘要:在開發微信小程序的時候,遇到圓形進度條的需求。但使用和實現進度條就很容易的避免了這方面的問題。如下圖最下面的圓形是進度條的背景,在上面有和兩個長方形,用來覆蓋不要顯示的進度條。在兩個長方形的里面分別有一個半圓形用來顯示進度。 在開發微信小程序的時候,遇到圓形進度條的需求。使用canvas繪圖比較麻煩: 1、為了實現在不同屏幕上面的適配,必須動態的計算進度條的大小; 2、在小程序...
閱讀 2609·2021-09-28 09:35
閱讀 3262·2021-09-03 10:28
閱讀 2905·2019-08-30 15:43
閱讀 1477·2019-08-30 14:04
閱讀 1800·2019-08-29 17:02
閱讀 1812·2019-08-26 13:59
閱讀 691·2019-08-26 11:51
閱讀 3251·2019-08-23 17:16