基于canvas实现的绚丽圆圈效果完整实例_javascript技巧
本文实例讲述了基于canvas实现的绚丽圆圈效果。分享给大家供大家参考,具体如下:
运行效果截图如下:
具体代码如下:
<!DOCTYPE html> <html> <head> <title>demo</title> <style type="text/css"> body { margin:0; background:black; } #canvas { border:3px solid gray; box-shadow:0px 0px 2px 2px #D5D5D5; margin-left:100px; margin-top:50px; } #power { position:fixed; bottom:50px; right:50px; } #power a { color:green; text-decoration:none; display:inline-block; padding:20px; border:2px solid orange; box-shadow:0px 0px 2px 2px blue; font-size:30px; } </style> </head> <body> <canvas id="canvas" width="500px" height="500px"></canvas> <script type="text/javascript"> var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var colorList = "abcdefABCDEF0123456789".split(""); var colorListLength = colorList.length; var arcList = []; function createArc(attr) { ctx.beginPath(); ctx.fillStyle = attr.color || "black"; ctx.arc(attr.x, attr.y, attr.r, 0, Math.PI*2); ctx.closePath(); ctx.fill(); } function color() { var color = "#"; for(var i=0; i<6; i++) { color += colorList[Math.round(Math.random()*colorListLength)]; } return color; } function Arc() { this.count = 0; this.r = 5; this.x = Math.round(Math.random()*500); this.add = Math.round(Math.random()*5); this.limit = Math.round(Math.random()*100) this.mode = Math.round(Math.random()); var _self = this; _self.run = function() { if(_self.r >= _self.limit) { _self.run = null; return; } _self.x += _self.add*(_self.mode == 1 ? 1 : -1); createArc({x: _self.x, y:Math.round(Math.random()*400), r: _self.r, color: color()}); _self.r += 5; return _self; }; return this; } var init_count = 150; var init_time = 0; var init = function() { init_time++; arcList.length = 0; for(var i=0; i<init_count; i++) { arcList.push(new Arc()); } }; var reInit = function() { var angle = Math.PI*2/init_count; for(var i=0; i<init_count; i++) { var _angle = i*angle; createArc({x: 250 + 250*Math.cos(_angle), y: 250 + 250*Math.sin(_angle), r: 5, color:color()}); createArc({x: 250 + 200*Math.cos(_angle), y: 250 + 200*Math.sin(_angle), r: 5, color:color()}); createArc({x: 250 + 150*Math.cos(_angle), y: 250 + 150*Math.sin(_angle), r: 5, color:color()}); createArc({x: 250 + 100*Math.cos(_angle), y: 250 + 100*Math.sin(_angle), r: 5, color:color()}); } }; init(); var globalInterval = setInterval(function() { ctx.clearRect(0, 0, 500, 500); var count = 0; for(var i=0; i<init_count; i++) { var arc = arcList[i]; arc.run ? arc.run() : count++; } if(count == init_count) { if(init_time >= 2) { reInit(); return; } init(); } }, 100); </script> </body> </html>
更多关于js特效相关内容感兴趣的读者可查看本站专题:《jQuery动画与特效用法总结》及《jQuery常见经典特效汇总》
希望本文所述对大家JavaScript程序设计有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在用canvas的学校有斯坦福大学、麻省理工学院、哥伦比亚大学、加州大学伯克利分校等。详细介绍:1、斯坦福大学,使用Canvas作为其主要的在线学习平台,斯坦福大学的教师和学生使用Canvas来管理和交流课程内容,并通过在线讨论、作业提交和考试等功能进行学习;2、麻省理工学院,MIT也采用了Canvas作为其在线学习管理系统,通过Canvas平台进行课程管理;3、哥伦比亚大学等

canvas箭头插件有:1、Fabric.js,具有简单易用的API,可以创建自定义箭头效果;2、Konva.js,提供了绘制箭头的功能,可以创建各种箭头样式;3、Pixi.js,提供了丰富的图形处理功能,可以实现各种箭头效果;4、Two.js,可以轻松地创建和控制箭头的样式和动画;5、Arrow.js,可以创建各种箭头效果;6、Rough.js,可以创建手绘效果的箭头等。

html2canvas的版本有html2canvas v0.x、html2canvas v1.x等。详细介绍:1、html2canvas v0.x,这是html2canvas的早期版本,目前最新的稳定版本是v0.5.0-alpha1。它是一个成熟的版本,已经被广泛使用,并且在许多项目中得到了验证;2、html2canvas v1.x,这是html2canvas的新版本。

canvas时钟的细节有时钟外观、刻度线、数字时钟、时针、分针和秒针、中心点、动画效果、其他样式等。详细介绍:1、时钟外观,可以使用Canvas绘制一个圆形表盘作为时钟的外观,可以设置表盘的大小、颜色、边框等样式;2、刻度线,在表盘上绘制刻度线,表示小时或分钟的位置;3、数字时钟,可以在表盘上绘制数字时钟,表示当前的小时和分钟;4、时针、分针和秒针等等。

uniapp实现如何使用canvas绘制图表和动画效果,需要具体代码示例一、引言随着移动设备的普及,越来越多的应用程序需要在移动端展示各种图表和动画效果。而uniapp作为一款基于Vue.js的跨平台开发框架,提供了使用canvas绘制图表和动画效果的能力。本文将介绍uniapp如何使用canvas来实现图表和动画效果,并给出具体的代码示例。二、canvas

tkinter canvas属性有bg、bd、relief、width、height、cursor、highlightbackground、highlightcolor、highlightthickness、insertbackground、insertwidth、selectbackground、selectforeground、xscrollcommand属性等等。详细介绍

探索Canvas框架:了解常用的Canvas框架有哪些,需要具体代码示例引言:Canvas是HTML5中提供的一个绘图API,通过它我们可以实现丰富的图形和动画效果。为了提高绘图的效率和便捷性,许多开发者开发了不同的Canvas框架。本文将介绍一些常用的Canvas框架,并提供具体代码示例,以帮助读者更深入地了解这些框架的使用方法。一、EaselJS框架Ea

无效的样式有CSS3动画和过渡、CSS滤镜效果、CSS3复杂图形和路径、CSS3的一些特性、伪元素和部分 CSS特性、Z-index、背景图像和渐变等。详细介绍:1、CSS3动画和过渡:html2canvas可能无法完全捕获CSS3动画和过渡效果。虽然会尝试捕获最终的样式,但这些动画和过渡可能会在转换过程中丢失;2、CSS滤镜效果:如模糊和阴影等滤镜可能在转换过程中无法保留等等
