首页  >  文章  >  web前端  >  HTML5做的一个小动画有个奇葩的问题._html/css_WEB-ITnose

HTML5做的一个小动画有个奇葩的问题._html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 12:07:321064浏览

用HTML5做个像flash一样的小球运动的动画,可是遇到个奇葩的问题....源代码如下:

<!DOCTYPE html><head><meta charset=utf-8><title>瞎玩呗</title><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script></head><body><canvas id="canvas2" width="400" height="200"></canvas><script type="text/javascript">var  c=document.getElementById("canvas2");var c2=c.getContext("2d");var width = 400;var height = 200; var qidian=0;		//设置线条起点 var exp=1;			//设置线条每次移动像 c2.strokeStyle = "rgba(255,0,0,1)"; function jump(){c2.clearRect(0,0,400,200)c2.fillStyle="FF0000";c2.beginPath();c2.arc(180,qidian,20,0,Math.PI*2,1); c2.closePath();c2.fill(); qidian=qidian+exp;					//起点+活动像素位置	 if(qidian==0 || qidian==height-1){ //判断当前线的位置,控制在区域内	   exp=exp*-1; //乘以负一用来调整线路方向	 }	 	}</script><input onclick="interval=setInterval(jump,1);" value="开始" type="button"/><input  onclick="clearInterval(interval);"value="停止" type="button"/></body></html>


正常情况下,小球是来回上下跳转的,但是上面的javascript中,定义了height和width两个变量,本来想在clearRect语句中用这两个变量来着,但是觉得没必要就注释了,但是吧,这两句定义变量的语句如果被注释掉小球就不会反弹回来,而是一直往下走....直到走出画布了都,,,,相当于那个if语句没用。定义个变量跟往返有什么联系么....在下刚学习HTML5,还望大神请教啊。


回复讨论(解决方案)

if(qidian==0 || qidian== height-1){ //判断当前线的位置,控制在区域内
因为你的height是一个变量 之前没定义的话这个是会报错的不执行 改成if(qidian==0 || qidian==200-1){也是可以的 var width = 400;这个可以注释掉 因为你没用到这个变量

哇...很简单的一个问题...没注意到,太粗心了。灰常感谢~!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn