国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

詳解canvas實(shí)現(xiàn)圓弧、圓環(huán)進(jìn)度條的實(shí)例方法

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 15:08:45
文檔

詳解canvas實(shí)現(xiàn)圓弧、圓環(huán)進(jìn)度條的實(shí)例方法

詳解canvas實(shí)現(xiàn)圓弧、圓環(huán)進(jìn)度條的實(shí)例方法:下面總結(jié)了自己在項(xiàng)目中的圓形進(jìn)度條效果的實(shí)現(xiàn)方式,希望對(duì)大家有幫助:此方法通過(guò)canvas繪制圓形的方法來(lái)實(shí)現(xiàn)動(dòng)態(tài)圓環(huán)進(jìn)度條,直接上代碼,疑問(wèn)請(qǐng)看注釋?zhuān)篐TML代碼如下, 在頁(yè)面里創(chuàng)建一個(gè)畫(huà)布即可: <canvas id="canvas" wid
推薦度:
導(dǎo)讀詳解canvas實(shí)現(xiàn)圓弧、圓環(huán)進(jìn)度條的實(shí)例方法:下面總結(jié)了自己在項(xiàng)目中的圓形進(jìn)度條效果的實(shí)現(xiàn)方式,希望對(duì)大家有幫助:此方法通過(guò)canvas繪制圓形的方法來(lái)實(shí)現(xiàn)動(dòng)態(tài)圓環(huán)進(jìn)度條,直接上代碼,疑問(wèn)請(qǐng)看注釋?zhuān)篐TML代碼如下, 在頁(yè)面里創(chuàng)建一個(gè)畫(huà)布即可: <canvas id="canvas" wid

下面總結(jié)了自己在項(xiàng)目中的圓形進(jìn)度條效果的實(shí)現(xiàn)方式,希望對(duì)大家有幫助:

此方法通過(guò)canvas繪制圓形的方法來(lái)實(shí)現(xiàn)動(dòng)態(tài)圓環(huán)進(jìn)度條,直接上代碼,疑問(wèn)請(qǐng)看注釋?zhuān)?/p>

HTML代碼如下, 在頁(yè)面里創(chuàng)建一個(gè)畫(huà)布即可:

<canvas id="canvas" width="300" height="300">
 <p>抱歉,您的瀏覽器不支持canvas</p>
 </canvas>

JS分兩大部分,
第一部分實(shí)現(xiàn)整體功能,第二部分調(diào)用:
第一部分:
  第一部分功能原理大概是,畫(huà)兩個(gè)圓,一個(gè)是底色圓,第二個(gè)是動(dòng)態(tài)加載的圓弧,進(jìn)度通過(guò)定時(shí)器加載;顏色加漸變色;

 function toCanvas(id ,progress){ canvas進(jìn)度條
 var canvas = document.getElementById(id),
 ctx = canvas.getContext("2d"),
 percent = progress, 最終百分比 circleX = canvas.width / 2, 中心x坐標(biāo) circleY = canvas.height / 2, 中心y坐標(biāo) radius = 100, 圓環(huán)半徑 lineWidth = 5, 圓形線(xiàn)條的寬度 fontSize = 20; 字體大小
 兩端圓點(diǎn)
 function smallcircle1(cx, cy, r) {
 ctx.beginPath(); //ctx.moveTo(cx + r, cy); ctx.lineWidth = 1;
 ctx.fillStyle = '#06a8f3';
 ctx.arc(cx, cy, r,0,Math.PI*2);
 ctx.fill();
 } function smallcircle2(cx, cy, r) {
 ctx.beginPath(); //ctx.moveTo(cx + r, cy); ctx.lineWidth = 1;
 ctx.fillStyle = '#00f8bb';
 ctx.arc(cx, cy, r,0,Math.PI*2);
 ctx.fill();
 } 畫(huà)圓
 function circle(cx, cy, r) {
 ctx.beginPath(); //ctx.moveTo(cx + r, cy); ctx.lineWidth = lineWidth;
 ctx.strokeStyle = '#eee';
 ctx.arc(cx, cy, r, Math.PI*2/3, Math.PI * 1/3);
 ctx.stroke();
 } 畫(huà)弧線(xiàn)
 function sector(cx, cy, r, startAngle, endAngle, anti) {
 ctx.beginPath(); //ctx.moveTo(cx, cy + r); // 從圓形底部開(kāi)始畫(huà) ctx.lineWidth = lineWidth; // 漸變色 - 可自定義
 var linGrad = ctx.createLinearGradient(
 circleX-radius-lineWidth, circleY, circleX+radius+lineWidth, circleY
 );
 linGrad.addColorStop(0.0, '#06a8f3'); //linGrad.addColorStop(0.5, '#9bc4eb'); linGrad.addColorStop(1.0, '#00f8bb');
 ctx.strokeStyle = linGrad; 圓弧兩端的樣式 ctx.lineCap = 'round'; 圓弧 ctx.arc(
 cx, cy, r,
 (Math.PI*2/3), (Math.PI*2/3) + endAngle/100 * (Math.PI*5/3),
 false
 );
 ctx.stroke();
 } 刷新
 function loading() { if (process >= percent) {
 clearInterval(circleLoading);
 } 清除canvas內(nèi)容 ctx.clearRect(0, 0, circleX * 2, circleY * 2); 中間的字 ctx.font = fontSize + 'px April';
 ctx.textAlign = 'center';
 ctx.textBaseline = 'middle';
 ctx.fillStyle = '#999';
 ctx.fillText(parseFloat(process).toFixed(0) + '%', circleX, circleY); 
 
 圓形 circle(circleX, circleY, radius); 
 圓弧 sector(circleX, circleY, radius, Math.PI*2/3, process);
 兩端圓點(diǎn) smallcircle1(150+Math.cos(2*Math.PI/360*120)*100, 150+Math.sin(2*Math.PI/360*120)*100, 5);
 smallcircle2(150+Math.cos(2*Math.PI/360*(120+process*3))*100, 150+Math.sin(2*Math.PI/360*(120+process*3))*100, 5); 控制結(jié)束時(shí)動(dòng)畫(huà)的速度
 if (process / percent > 0.90) {
 process += 0.30;
 } else if (process / percent > 0.80) {
 process += 0.55;
 } else if (process / percent > 0.70) {
 process += 0.75;
 } else {
 process += 1.0;
 }
 } var process = 0.0; 進(jìn)度
 var circleLoading = window.setInterval(function () {
 loading();
 }, 20);
 
 }
第二部分,調(diào)用封裝好的代碼:
 toCanvas('canvas',50);

【相關(guān)推薦】

1. Canvas實(shí)現(xiàn)圓形進(jìn)度條并顯示數(shù)字百分比

2. 利用CSS clip 實(shí)現(xiàn)音頻播放圓環(huán)進(jìn)度條教程實(shí)例

3. 分享h5 canvas圓圈進(jìn)度條的實(shí)例代碼

4. H5 canvas實(shí)現(xiàn)圓形動(dòng)態(tài)加載進(jìn)度實(shí)例

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

詳解canvas實(shí)現(xiàn)圓弧、圓環(huán)進(jìn)度條的實(shí)例方法

詳解canvas實(shí)現(xiàn)圓弧、圓環(huán)進(jìn)度條的實(shí)例方法:下面總結(jié)了自己在項(xiàng)目中的圓形進(jìn)度條效果的實(shí)現(xiàn)方式,希望對(duì)大家有幫助:此方法通過(guò)canvas繪制圓形的方法來(lái)實(shí)現(xiàn)動(dòng)態(tài)圓環(huán)進(jìn)度條,直接上代碼,疑問(wèn)請(qǐng)看注釋?zhuān)篐TML代碼如下, 在頁(yè)面里創(chuàng)建一個(gè)畫(huà)布即可: <canvas id="canvas" wid
推薦度:
標(biāo)簽: 方法 進(jìn)度條 的方法
  • 熱門(mén)焦點(diǎn)

最新推薦

猜你喜歡

熱門(mén)推薦

專(zhuān)題
Top
主站蜘蛛池模板: 精品国产高清自在线一区二区三区 | 国产在线视频网 | a级精品国产片在线观看 | 日韩亚洲欧美综合 | 97精品国产91久久久久久 | 美日韩一区二区三区 | 欧美精品1区 | 亚洲原创区 | 国产l精品国产亚洲区在线观看 | 高h肉肉视频在线播放观看 福利视频一区二区三区 | 精品国产一区二区三区久久久蜜臀 | 亚洲午夜一区二区三区 | 亚洲一区二区免费看 | 国产一区精品在线观看 | 亚洲免费网站 | 日韩专区一区 | 欧美日韩ay在线观看 | 日韩成人免费在线视频 | 国产一区在线看 | 91日韩 | 欧美视频在线免费 | 91精品国产免费久久久久久 | 日本黄a | 手机看片91精品一区 | 热综合一本伊人久久精品 | 国产日韩欧美精品 | 欧美一区二区日韩一区二区 | 欧美色第一页 | 国产精品久久久久9999小说 | 免费又黄又爽又猛大片午夜 | 亚洲三级一区 | 久久久久久久一精品 | 国产一级做a爰片在线看 | 亚洲一区在线播放 | 成人一a毛片免费视频 | 99久久精品免费 | 一区在线看 | 亚洲乱码中文论理电影 | 欧美日韩国产va另类试看 | 狠狠操夜夜| 亚洲欧美日韩中文字幕在线不卡 |