利用html5實現的loadding動態載入效果
本章節分享一段程式碼,它實現的動態loadding載入效果,通過javascript結合html5實現的,有興趣的朋友可以參考一下。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> window.onload=function(){ var Loading = function (canvas, options) { this.canvas = document.getElementById(canvas); this.options = options; }; Loading.prototype={ constructor: Loading, show: function(){ var canvas = this.canvas, begin = this.options.begin, old = this.options.old, lineWidth = this.options.lineWidth, canvasCenter = {x: canvas.width / 2, y: canvas.height / 2}, ctx = canvas.getContext("2d"), color = this.options.color, num = this.options.num, angle = 0, lineCap = this.options.lineCap, CONST_PI = Math.PI * (360 / num) / 180; window.timer = setInterval(function () { ctx.clearRect(0, 0, canvas.width, canvas.height); for(var i = 0; i < num; i += 1){ ctx.beginPath(); ctx.strokeStyle = color[num - 1 - i]; ctx.lineWidth = lineWidth; ctx.lineCap= lineCap; ctx.moveTo(canvasCenter.x + Math.cos(CONST_PI * i + angle) * begin, canvasCenter.y + Math.sin(CONST_PI * i + angle) * begin); ctx.lineTo(canvasCenter.x + Math.cos(CONST_PI * i + angle) * old, canvasCenter.y + Math.sin(CONST_PI * i + angle) * old); ctx.stroke(); ctx.closePath(); } angle += CONST_PI; console.log(angle) },50); }, hide: function () { clearInterval(window.timer); } }; (function(){ var options = { num : 8, begin: 20, old: 40, lineWidth: 10, lineCap: "round", color: ["rgb(0, 0, 0)", "rgb(20, 20, 20)", "rgb(40, 40, 40)", "rgb(60, 60, 60)", "rgb(80, 80, 80)", "rgb(100, 100, 100)", "rgb(120, 120, 120)", "rgb(140, 140, 140)"] }; var loading = new Loading("canvas", options); loading.show(); }()); } </script> </head> <body> <canvas id="canvas"></canvas> </body> </html>
以上程式碼實現了動態載入等待效果,因為是結合html5實現的自然就會有相容性問題。
相關文章
- CSS3 loadding載入動畫效果CSSS3動畫
- CSS3 loadding載入效果CSSS3
- 利用HTML5,無JS實現各種互動效果HTMLJS
- CSS3漂亮的loadding載入動畫CSSS3動畫
- 利用 consul+nginx-upsync 實現動態負載Nginx負載
- 優雅的實現動態載入 css、jsCSSJS
- 小tip-一種圖片載入狀態效果的實現
- CSS3 loadding載入程式碼CSSS3
- Html5實現移動端、PC端 刮刮卡效果HTML
- vue 實現tab切換動態載入不同的元件Vue元件
- 前端基礎入門五(掌握jQuery的常用api,實現動態效果)前端jQueryAPI
- SVG點選實現動態放大的圓效果SVG
- js利用H5的requestAnimationFrame()API實現動畫效果JSH5requestAnimationFrameAPI動畫
- Spring Cloud Nacos實現動態配置載入的原始碼分析SpringCloud原始碼
- Umi + qiankun 實現動態載入子應用路由路由
- CSS3 loadding效果程式碼CSSS3
- 藉助 Webpack 靜態分析能力實現程式碼動態載入Web
- 成品直播原始碼推薦,實現文字載入效果 文字跳動原始碼
- Spring Boot 如何熱載入 jar 實現動態外掛?Spring BootJAR
- Spring Boot 如何熱載入jar實現動態外掛?Spring BootJAR
- vue中頁面載入進度條效果的實現Vue
- DLL動態庫動態載入
- Nginx利用Lua+Redis實現動態封禁IP的方法NginxRedis
- 利用 Angular Directive 和 @HostBinding 實現輸入文字框隨著鍵盤輸入自動變色效果Angular
- 利用iptables實現埠對映(支援動態域名)
- 利用 clip-path 實現動態區域裁剪
- 實現動態自動匹配輸入的內容
- 指令碼的動態載入指令碼
- 動態載入UserControl
- Flutter入門篇(三)— 如何實現登入動畫效果Flutter動畫
- 原生JS實現拋物線動畫以及動態模糊效果JS動畫
- Android-動態載入外掛資源,皮膚包的實現原理Android
- 滾動載入圖片(懶載入)實現原理
- 利用Node實現HTML5離線儲存HTML
- 利用 GitHub Actions 實現自動部署靜態部落格Github
- .NET Core 利用委託實現動態流程組裝
- FastHook——巧妙利用動態代理實現非侵入式AOPASTHook
- React Native 中實現動態匯入React Native
- 利用CSS變數實現炫酷的懸浮效果CSS變數