Heim  >  Artikel  >  Web-Frontend  >  HTML5做的一个小动画有个奇葩的问题._html/css_WEB-ITnose

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

WBOY
WBOYOriginal
2016-06-24 12:07:321064Durchsuche

用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;这个可以注释掉 因为你没用到这个变量

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn