JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
更新时间:2016年01月26日 11:44:11 作者:m1870164
这篇文章主要介绍了JavaScript+html5 canvas绘制的圆弧荡秋千效果,以完整实例形式分析了JavaScript集合html5的canvas绘制图形的相关技巧,需要的朋友可以参考下
本文实例讲述了JavaScript+html5 canvas绘制的圆弧荡秋千效果。分享给大家供大家参考,具体如下:
运行效果截图如下:
具体代码如下:
<!DOCTYPE html> <html> <head> <title>demo</title> <style type="text/css"> #canvas { margin:50px; border:5px solid gray; box-shadow:0px 0px 5px 5px #494949; } </style> </head> <body> <canvas id="canvas" width="500px" height="500px"></canvas> </body> <script type="text/javascript"> var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var r_x = 250, r_y = 0; var offset_h = 250; var offset_w = 500; var count = 0; var mode = "up"; var temp = 0; var getRPoint = function(x, y) { var r = (Math.pow(x, 2) + Math.pow(y, 2)) / (2 * y); var point = { x: x, y: Math.abs(250 - (r - y)), r: r }; return point; }; function arc(attrs) { ctx.beginPath(); ctx.arc(attrs.x, attrs.y, attrs.r, attrs.startAngle || 0, attrs.endAngle || Math.PI); ctx.stroke(); } var interval = setInterval(function() { count++; switch(mode) { case "up": temp = count; ctx.clearRect(0, 0, 500, 500); if(count%18 == 0) { mode = "down"; return; } break; case "down": temp = 36 - count; ctx.clearRect(0, 0, 500, 500); if(count%36 == 0) { mode = "default"; return; } break; case "default": temp = count - 36; if(count%54 == 0) { mode = "up"; count = 0; return; } } arc(getRPoint(250, 250-8*temp)); }, 100); </script> </html>
更多关于js特效相关内容感兴趣的读者可查看本站专题:《jQuery动画与特效用法总结》及《jQuery常见经典特效汇总》
希望本文所述对大家JavaScript程序设计有所帮助。
您可能感兴趣的文章:
- JavaScript+html5 canvas实现本地截图教程
- js+canvas绘制矩形的方法
- js+canvas简单绘制圆圈的方法
- js+canvas绘制五角星的方法
- JavaScript+html5 canvas制作的圆中圆效果实例
- JavaScript+html5 canvas绘制的小人效果
- JavaScript+html5 canvas制作色彩斑斓的正方形效果
- JavaScript html5 canvas画布中删除一个块区域的方法
- JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
- JavaScript+html5 canvas制作的百花齐放效果完整实例
- JavaScript+html5 canvas绘制渐变区域完整实例
- JavaScript+canvas实现七色板效果实例
相关文章
JavaScript中rxjs与 Observable 两大类操作符解析
这篇文章主要介绍了JavaScript中rxjs与 Observable 两大类操作符解析,运算符是对 Observable 进行操作并返回 Observable 的函数,文章围绕主题展开详细内容,需要的小伙伴可以参考一下2022-07-07微信小程序 flexbox layout快速实现基本布局的解决方案
flexbox layout 弹性盒子布局。弹性盒子可以快速的对小程序进行布局。这篇文章主要介绍了微信小程序 flexbox layout快速实现基本布局的方法,需要的朋友可以参考下2020-03-03JavaScript算法系列之快速排序(Quicksort)算法实例详解
这篇文章主要介绍了JavaScript算法系列之快速排序(Quicksort)算法实例详解的相关资料,需要的朋友可以参考下2016-09-09
最新评论