繁体   English   中英

当我清除画布时,“ canvas.clearRect不是函数”

[英]“canvas.clearRect is not a function” when I clear the canvas

我正在尝试在HTML5画布上绘制一个圆并四处移动。

我写了这个Javascript代码:

 var a = 0; function draw() { var c = document.getElementById("game"); var ctx = c.getContext("2d"); ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.beginPath(); ctx.arc(45+a, 45, 40, 0, 2 * Math.PI); ctx.stroke(); a++; } var t=setInterval(draw,1000); 
 <canvas id="game" width="640" height="480"></canvas> 

当我尝试执行它时,在控制台中出现此错误:

TypeError:canvas.clearRect不是函数

我该如何解决?

谢谢。

clearRect方法中,因为canvasundefinedcanvas.widthcanvas.height将引发错误。 您应该传递有效的对象。

 var a = 0; function draw() { var canvas = document.getElementById("game"); var ctx = canvas.getContext("2d"); ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.beginPath(); ctx.arc(45 + a, 45, 40, 0, 2 * Math.PI); ctx.stroke(); a++; } var t = setInterval(draw, 1000); 
 <canvas id="game" width="640" height="480"></canvas> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM