用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>
if(qidian==0 || qidian== height-1){ //判断当前线的位置,控制在区域内
因为你的height是一个变量 之前没定义的话这个是会报错的不执行 改成if(qidian==0 || qidian==200-1){也是可以的 var width = 400;这个可以注释掉 因为你没用到这个变量
哇...很简单的一个问题...没注意到,太粗心了。灰常感谢~!