js實現圓環百分比載入等待效果程式碼例項
本章節分享一段程式碼例項,它實現了圓環百分比載入等待效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> *{ padding: 0; margin: 0; } .circle{ width: 200px; height: 200px; margin: 20em auto; position: relative; } canvas{ display: block; margin: 0; position: absolute; background: white; left: 0; top: 0; } #canvas_1{z-index: 1 } #canvas_2{ z-index: 2; background: transparent; transform:rotate(-90deg); } </style> </head> <body> <div class="circle"> <canvas id="canvas_1" width="200" height="200"></canvas> <canvas id="canvas_2" width="200" height="200"></canvas> </div> <script> function inte(percent) { var canvas_1 = document.querySelector('#canvas_1'); var canvas_2 = document.querySelector('#canvas_2'); var ctx_1 = canvas_1.getContext('2d'); var ctx_2 = canvas_2.getContext('2d'); ctx_1.lineWidth = 10; ctx_1.strokeStyle = "#ccc"; //畫底部的灰色圓環 ctx_1.beginPath(); ctx_1.arc(canvas_1.width / 2, canvas_1.height / 2, canvas_1.width / 2 - ctx_1.lineWidth / 2, 0, Math.PI * 2, false); ctx_1.closePath(); ctx_1.stroke(); if (percent < 0 || percent > 100) { throw new Error('percent must be between 0 and 100'); return } ctx_2.lineWidth = 10; ctx_2.strokeStyle = "#f90"; var angle = 0; var timer; (function draw() { timer = requestAnimationFrame(draw); ctx_2.clearRect(0, 0, canvas_2.width, canvas_2.height) //百分比圓環 ctx_2.beginPath(); ctx_2.arc(canvas_2.width / 2, canvas_2.height / 2, canvas_2.width / 2 - ctx_2.lineWidth / 2, 0, angle * Math.PI / 180, false); angle++; var percentAge = parseInt((angle / 360) * 100) if (angle > (percent / 100 * 360)) { percentAge = percent window.cancelAnimationFrame(timer); }; ctx_2.stroke(); ctx_2.closePath(); ctx_2.save(); ctx_2.beginPath(); ctx_2.rotate(90 * Math.PI / 180) ctx_2.font = '30px Arial'; ctx_2.fillStyle = 'red'; var text = percentAge + '%'; ctx_2.fillText(text, 80, -90); ctx_2.closePath(); ctx_2.restore(); })() } window.onload = inte(60); </script> </body> </html>
相關文章
- canvas圓環百分比載入效果程式碼例項Canvas
- canvas繪製圓環效果程式碼例項Canvas
- canvas載入效果程式碼例項Canvas
- 旋轉等待內容載入完畢實現程式碼例項
- js實現刮刮樂抽獎效果程式碼例項JS
- 實現js檔案動態載入程式碼例項JS
- js實現的垂直選項卡效果程式碼例項JS
- js實現的數字四捨五入效果程式碼例項JS
- js實現的留言本效果程式碼例項JS
- js實現的div拖動效果例項程式碼JS
- js模擬實現多型效果程式碼例項JS多型
- js實現的元素抖動效果程式碼例項JS
- 資料處理等待效果例項程式碼
- js點選div實現閃爍效果程式碼例項JS
- angularjs實現的購物車效果程式碼例項AngularJS
- js ajax惰性載入程式碼例項JS
- 實現四捨五入效果的javascript程式碼例項JavaScript
- 原生js實現的動態載入css和js檔案程式碼例項JSCSS
- jQuery實現圖片預載入程式碼例項jQuery
- javascript實現animate()動畫效果程式碼例項JavaScript動畫
- css實現矩形切角效果程式碼例項CSS
- 實現多個文字框輸入同步效果程式碼例項
- js重力球效果程式碼例項JS
- js煙花效果程式碼例項JS
- js鐘錶效果程式碼例項JS
- js秒錶效果程式碼例項JS
- jquery實現的選項卡效果例項程式碼jQuery
- jQuery實現的動態載入css和js檔案程式碼例項 [jQueryCSSJS
- javascript百分比進度條效果程式碼例項JavaScript
- js實現的國家、省、市級聯效果程式碼例項JS
- CSS3實現的環形旋轉載入補全效果程式碼例項CSSS3
- canvas實現的驗證碼效果程式碼例項Canvas
- jQuery實現的圖片預載入程式碼例項jQuery
- js圖片緩衝載入程式碼例項JS
- 文字框輸入內容實現智慧提示效果程式碼例項
- jquery實現的分頁效果例項程式碼jQuery
- css實現圖片灰度效果程式碼例項CSS
- javascript模擬實現ArrayList效果程式碼例項JavaScript