HTML5做的一个小动画有个奇葩的问题._html/css_WEB-ITnose
用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;这个可以注释掉 因为你没用到这个变量
哇...很简单的一个问题...没注意到,太粗心了。灰常感谢~!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前

本文讨论了&lt; iframe&gt;将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文解释了HTML5&lt; time&gt;语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit
