HTML5做的一个小动画有个奇葩的问题.....

binglimomo 2014-03-06 09:41:34
用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,还望大神请教啊。
...全文
104 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
嘻哈大咖秀 2014-03-06
  • 打赏
  • 举报
回复
if(qidian==0 || qidian==height-1){ //判断当前线的位置,控制在区域内 因为你的height是一个变量 之前没定义的话这个是会报错的不执行 改成if(qidian==0 || qidian==200-1){也是可以的 var width = 400;这个可以注释掉 因为你没用到这个变量
binglimomo 2014-03-06
  • 打赏
  • 举报
回复
哇...很简单的一个问题...没注意到,太粗心了。灰常感谢~!

61,111

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧