H5中标签Canvas实现图像动画
一:主题部分
1.介绍
canvas可以实现画图功能,所以只要通过js的控制,就可以实现简单的动画效果。
这里主要是两个程序,一个小球来回上下弹跳,一个是吹气球。
2.弹跳程序
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>canvas dynamic</title>
<script src="D:\jquery\jquery-1.12.4.min.js"></script>
</head>
<body>
<canvas id="dynamic" width="200" height="200"></canvas>
<br/>
<script type="text/javascript">
var width=200;
var height=200;
var start=0;
var exp=1;
var canvas=document.getElementById("dynamic");
var dynamic=canvas.getContext("2d");
function draw(){
dynamic.clearRect(0,0,width,height);
dynamic.fillStyle="red";
dynamic.beginPath();
dynamic.arc(100,start,30,0,Math.PI*2,1);
dynamic.closePath();
dynamic.fill();
start=start+exp;
if(start==0||start==height-1){
exp=exp*-1;
}
}
</script>
<input onclick="dyid=setInterval(draw,10);" type="button" value="开始"/>
<input onclick="clearInterval(dyid);" type="button" value="停止">
</body>
</html>
3.运行结果

4.气球程序
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>canvas dynamic</title>
<script src="D:\jquery\jquery-1.12.4.min.js"></script>
</head>
<body>
<canvas id="dynamic" width="400" height="200"></canvas>
<br/>
<script type="text/javascript">
var width=400;
var height=200;
var start=0;
var exp=1;
var canvas=document.getElementById("dynamic");
var dynamic=canvas.getContext("2d");
function draw(){
dynamic.clearRect(0,0,width,height);
dynamic.fillStyle="red";
dynamic.beginPath();
dynamic.arc(200,start,start,0,Math.PI*2,1);
dynamic.closePath();
dynamic.fill();
start=start+exp;
if(start==0||start==height-1){
exp=exp*-1;
}
}
</script>
<input onclick="dyid=setInterval(draw,10);" type="button" value="开始"/>
<input onclick="clearInterval(dyid);" type="button" value="停止">
</body>
</html>
5.运行结果

二:问题
1.
通过测试,发现的问题,经过多次点击之后,单击停止没有效果。
程序只是针对一次开始,一次停止的结果。
bug以后再进行修改。
H5中标签Canvas实现图像动画的更多相关文章
- 关于H5中的Canvas API的探索
Canvas API 是H5中比较炫酷的一部分内容.可以通过它动态的生成和展示图形.图表.图像以及动画.下面我将学习一下Canvas API. 最后有书籍和源码. 一.概述: 1.基本元素: 在网页上 ...
- 从web图片裁剪出发:了解H5中的canvas
本篇内容不针对canvas文档对每个api进行逐个的详解! 本篇内容不针对canvas文档对每个api进行逐个的详解! 本篇内容不针对canvas文档对每个api进行逐个的详解! 重说三,好了,现在进 ...
- 用H5中的Canvas等技术制作海报
在去年的时候也实现过合成海报的功能,不过当时时间仓促,实现的比较简单. 就一个旋转功能,图片也不能拖动放大,也不能裁剪. 去年的实现可以参考<移动图片操作--上传>和<移动图片操作- ...
- H5中需要掌握的 ANIMATION 动画效果
CSS3的动画在PC网页上或者APP上用得越来越多,比如H5页面的应用,目前在营销传播上的意义比较大,还有企业官网或者APP主要介绍也用得比较多,当然还有很多地方都用到.所以学习css的动画也迫在眉睫 ...
- H5 新增标签canvas 画布
canvas是写在body中的标签,设置宽高后,通过JS来往其中绘制想要的内容, canvas可以理解为一个画板,而JS就是你的画笔. 1.获取到画布 var canvas = document.ge ...
- html5标签canvas函数drawImage使用方法
html5中标签canvas,函数drawImage(): 使用drawImage()方法绘制图像.绘图环境提供了该方法的三个不同版本.参数传递三种形式: drawImage(image,x,y):在 ...
- 通过H5的新标签canvas做出一个时钟的全过程,希望对初学者有帮助
最近学习了H5中的一个新标签canvas并且用它做出了一个时钟,最下面是成品图像,还不错吧,这只是我学习中的一个小demo,做得有点粗糙,但终究是做出来了,以后再写自己的网页主页再做一个好看点放上去. ...
- h5标签canvas关于getImageData跨域的问题
h5标签canvas关于getImageData跨域的问题 在学习h5的时候,canvas标签中getImageData()报错:security error! 具体代码如下(chrome浏览器): ...
- Android中使用SurfaceView和Canvas来绘制动画
事实上每一个View中都有Canvas能够用来绘制动画.仅仅须要在这个View中重载onDraw()方法就能够,可是SurfaceView类是一个专门用来制动动画的类. Canvas(中文叫做&quo ...
随机推荐
- 【BZOJ2067】SZN(二分,动态规划,贪心)
[BZOJ2067]SZN(二分,动态规划,贪心) 题面 权限题额 Description String-Toys joint-stock 公司需要你帮他们解决一个问题. 他们想制造一个没有环的连通图 ...
- QWidget窗体中使用Q_OBJECT后无法添加背景图片或背景色
在继承自QWiget的窗体中,设置背景图片或背景色比较简单的方法是使用setStyleSheet()函数,比如在构造函数中可以这样来设置背景图片: this->setStyleSheet(&qu ...
- pat1001. Battle Over Cities - Hard Version 解题报告
/**题目:删去一个点,然后求出需要增加最小代价的边集合生成连通图思路:prim+最小堆1.之前图中未破坏的边必用,从而把两两之间可互达的点集合 合并成一个点2.求出不同点集合的最短距离,用prim+ ...
- Linux上case用法
Linux上case用法示例: #!/bin/bash # This is a script for test case ASK_COUNT=$ #从参数获取该变量的值 # if [ -z " ...
- Linux上shell脚本date的用法
在shell脚本里date命令的用法: %% 一个文字的 % %a 当前locale 的星期名缩写(例如: 日,代表星期日) %A 当前locale 的星期名全称 (如:星期日) %b 当前local ...
- Hadoop生态圈-zookeeper本地搭建以及常用命令介绍
Hadoop生态圈-zookeeper本地搭建以及常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.下载zookeeper软件 下载地址:https://www.ap ...
- Eclipse的一些常用的快捷键
写代码的时候常用的: Ctrl + 鼠标左键: 进入函数定义,变量声明: Alt + ←: 回到上次编辑的地方, 同理 Alt + → 可以移回来 Ctrl + O: 查找当前类的所有函数,变量 Ct ...
- vue ssr服务端渲染
SSR:Server Side Rendering(服务端渲染) 目的是为了解决单页面应用的 SEO 的问题,对于一般网站影响不大,但是对于论坛类,内容类网站来说是致命的,搜索引擎无法抓取页面相关内容 ...
- 关于MYSQL group by 分组按时间取最大值的实现方法
类如 有一个帖子的回复表,posts( id , tid , subject , message , dateline ) , id 为 自动增长字段, tid为该回复的主题帖子的id(外键关联), ...
- AngularJs入门篇-控制器的加深理解基础篇
下面做的是一个更新时间的效果,每一秒钟就会更新一下,视图中会显示出当前的时间 下面的这个例子中,SceondController函数将接受两个参数,既该DOM元素的$scope和$timeout. ...