无法通过jQuery获取要更新的画布

无法通过jQuery获取要更新的画布,jquery,html,canvas,Jquery,Html,Canvas,我正在尝试制作一个圆形笔划的动画,从零半径开始,最终变成全半径 我正在尝试使用HTML5画布和jQuery来实现这一点。圆绘制一次,但不设置动画 剧本: HTML: 考虑到提供的角度,您只是在错误的方向绘制圆弧 做 而不是 ctx.arc(140, 140, 100, myVal * Math.PI, 0, false); 考虑到提供的角度,您只是在错误的方向绘制圆弧 做 而不是 ctx.arc(140, 140, 100, myVal * Math.PI, 0, false); 您的代码中

我正在尝试制作一个圆形笔划的动画,从零半径开始,最终变成全半径

我正在尝试使用HTML5画布和jQuery来实现这一点。圆绘制一次,但不设置动画

剧本:

HTML:


考虑到提供的角度,您只是在错误的方向绘制圆弧

而不是

ctx.arc(140, 140, 100, myVal * Math.PI, 0, false);

考虑到提供的角度,您只是在错误的方向绘制圆弧

而不是

ctx.arc(140, 140, 100, myVal * Math.PI, 0, false);

您的代码中有一些问题

您不应该每次都实例化上下文。 你永远不会清理画布。 你画的不是你想要的,就像@dystroy提到的那样 一,。 将canvas和ctx变量保持在更高的范围内。把它们放在全球范围内也不是一个好做法。最好是将所有的东西包装成一个对象

function Animation() {
  var canvas = document.getElementById("myCanvas");
  var ctx = canvas.getContext("2d");

  this.draw = function(val) {
   // content of calc
  }

}

var animation = new Animation();
$(function(){
  // what needs to be compute at ready
  // ...

  // setInterval a function that make the call to Animation.draw();

})
二,。 在这种情况下,您看不到它,因为您在彼此的顶部绘制圆弧。但实际上你可以猜出别名

ctx.clearRect(0,0,canvas.width, canvas.height);

您的代码中有一些问题

您不应该每次都实例化上下文。 你永远不会清理画布。 你画的不是你想要的,就像@dystroy提到的那样 一,。 将canvas和ctx变量保持在更高的范围内。把它们放在全球范围内也不是一个好做法。最好是将所有的东西包装成一个对象

function Animation() {
  var canvas = document.getElementById("myCanvas");
  var ctx = canvas.getContext("2d");

  this.draw = function(val) {
   // content of calc
  }

}

var animation = new Animation();
$(function(){
  // what needs to be compute at ready
  // ...

  // setInterval a function that make the call to Animation.draw();

})
二,。 在这种情况下,您看不到它,因为您在彼此的顶部绘制圆弧。但实际上你可以猜出别名

ctx.clearRect(0,0,canvas.width, canvas.height);

另一种方法是,将StartAngle和EndAngle颠倒过来。Stackoveflow:始终是一种令人谦卑的体验。@nipponese也在缩短因错误而损失的时间。我们都会犯错误。或者,你会把起始角和终止角颠倒过来。Stackoveflow:总是一个令人谦卑的经历。@nipponese因此缩短了你因错误而损失的时间。我们都会犯错误。