function init(){ buildSpinner({ x : 50, y : 50, size : 20, degrees : 15 }); } function buildSpinner(data) { var canvas = document.createElement('canvas'); canvas.height = 100; canvas.width = 300; document.getElementsByTagName('div')[0].appendChild(canvas); var ctx = canvas.getContext("2d"), i = 0, degrees = data.degrees, loops = 0, degreesList = []; for (i = 0; i < degrees; i++) { degreesList.push(i); } // reset i = 0; // so I can kill it later window.canvasTimer = setInterval(draw, 5000/degrees); function reset() { ctx.clearRect(0,0,100,100); // clear canvas var left = degreesList.slice(0, 1); var right = degreesList.slice(1, degreesList.length); degreesList = right.concat(left); } function draw() { var c, s, e; var d = 0; if (i == 0) { reset(); } ctx.save(); d = degreesList[i]; c = Math.floor(255/degrees*i); ctx.strokeStyle = 'rgb(' + c + ', ' + c + ', ' + c + ')'; ctx.lineWidth = data.size ; ctx.beginPath(); s = Math.floor(360/degrees*(d)); e = Math.floor(360/degrees*(d+1)) - 1; ctx.arc(data.x, data.y, data.size, (Math.PI/180)*s, (Math.PI/180)*e, false); ctx.stroke(); ctx.restore(); i++; if (i >= degrees) { i = 0; } } }
详细解决方案
canvas施用示例
热度:330 发布时间:2012-11-09 10:18:47.0
相关解决方案
- 关于j2me Canvas 的sizeChange()步骤的陷阱
- canvas 文字居中显示有关问题
- 高手帮看看这程序,Canvas 里如何把内部的类分出来 Canvas里东西太多了,类类之间我不太会调用
- canvas
- 请问如何使用 canvas
- HTML5 Canvas 流程图作图
- 应用HTML5画布(canvas)生成阴影效果
- HTML5学习札记(二)-Canvas、SVG
- html5 canvas 画图形,改变填充颜色解决思路
- html5 canvas 里边绘制标题 和阴影
- HTML5 Canvas 通译目录
- html5 canvas 画图形,该如何处理
- HTML 五 canvas ―― 基本语法
- 怎么在IE6、IE7、IE8中使用HTML5 canvas
- canvas、drawImage的有关问题,高手速进
- html5 canvas 画图形,改变填充色彩
- html5 canvas 画一个矩形,在矩形里增添文字。 文字超出矩形怎样自动换行?
- html5 canvas 画一个矩形,在矩形里添加文字。 文字颜色与矩形背景颜色有关问题?
- HTML5 canvas 低级入门教程
- html5 canvas 色彩渐变
- HTML5 API简介1(Canvas,Audio/Video,Geolocation)
- 了解HTML5 canvas.translate(x,y)
- HTML5 Canvas API 学习札记(一)
- HTML5 Canvas API 学习札记(二)
- HTML5 canvas 生手入门教程
- 15 个 HTML5 Canvas 施用欣赏
- HTML5 Canvas 怎么取消反锯齿绘图
- HTML5 canvas 怎么通过鼠标点击事件弹出一个table来?
- 转:HTML5 canvas 元素详细课程一
- HTML5 特征检测:Canvas Text